Implemented optional type arguments to functions
Work towards applicative elaboration.
First steps towards elaborating to monomorphic.
First steps towards having Meta handle applicative modules.