Method overload checking

Method overload checking, and also proper set/map/list param and return support