refactored ClrTypeExtensions