Rename MethodTypeFactory.MethodSignature to MethodTypeFactory.Key because I hate the name collision.
Guard MethodTypeFactory.Key against null values (issue #164) because I suspect a ConcurrentDictionary bug.
Make MethodTypeFactory.Key use an array instead of an IEnumerable in case something crazy is happening with the Parameters lists after construction.
Don't use the default equality comparer in MethodTypeFactory's cache.