Input type, extending Inputs.
Output type, extending Specs.
If I or O extend a string, these will be converted to objects with keys input and output respectively; otherwise (i.e. if I or O are objects), these will be left as-is.
In other words, the resulting type is an object with all the keys of I and O if those are objects, or with keys input and output if I or O are strings (respectively).
Generated using TypeDoc
An example for the generate function.