In .NET 4.5, the DefaultBinder class throws an exception if any of the passed types is not a RuntimeType (and it uses the UnderlyingSystemType to get the RuntimeType). Therefore, all code using the DefaultBinder, and that means all Type.GetXXX methods that filter members by signature, will no longer work for custom types.
Generate transient UnderlyingSystemTypes for CustomTypes that have the right base classes and interfaces. (Performance?)
Do not support the member getters any longer.
Check TODO comments.