public IMethod MakeGenericMethod(IType[] arguments) { IMethod constructed = null; if (!_instances.TryGetValue(arguments, out constructed)) { constructed = new InternalGenericMethod(_typeSystemServices, this, arguments); _instances.Add(arguments, constructed); } return(constructed); }