Misc additions to type level functions.
Fix minor logic error in drop_types.
Added missing base case to drop_types.
Functor implementation for ftl::function.