Removed unused name binding clauses.
Changed name binding for functions to use a signature property instead of encoding the signature in the type.