User defined datatypes

Dummy PR so I can comment on this branch.
This is working because serialize is also not being called.