Got Monad.ap working
Swapped order of arguments for Monad.ap
Tidy up Monad.ap
Added type in Closure
Added typechecking to remaining core classes
Added TypeChecked on main classes