Implemented currying for data constructors
Docs & cleanup