Add more laws to Functor.
Type: clean up and remove misplaced functionality

The ability to construct objects of a type T by calling the type<T>
object was removed; make<T> should be used instead.