User defined datatypes

Dummy PR so I can comment on this branch.
`registerType` to match `registerFunction`