Initial draft of first class functions
Removed generics from TOC temporary