note that i worked around the question of how to delegate part of the
options to the consumer by creating aliases for different parts of the
function slot filling.
i've been pretty arbitrary about this so far tho, and mostly to preserve
existing interfaces, rather than out of conscious UX design per se.
so the interface can def change still, but at least the _user_'s side is
more DRY now!
note that this does not yet contain the 'type check', as this does not
function yet.
this could be added in `data-model.nix` like:
```nix
function-type-check = mkOption {
type = application.config.config-mapping.function-type;
readOnly = true;
default = input: {
inherit input;
output = application.config.config-mapping.implementation-type
input;
};
};
```
... or even to `function.nix` itself, like:
```nix
function-type-check = mkOption {
type = config.function-type;
readOnly = true;
default = input: {
inherit input;
output = config.implementation-type input;
};
};
```