Renames Function to Func, subclasses Func to Generic, begins function type implementation