starting to introduce overload resolutions
adding type checks when resolving overloads
compressing function decorated names
typed function aliases are stored together with typed function declaration