System.Object: Need a mechanism for getting an object underlying type. System.ValueType: Need to lock memory and "scan" the actual contents to compute hash code and do comparissions. Should be simple to do with C#, the problem is figuring out the size of the object. System.String: Need to implement the Format() and CompareOrdinal() methods as we all implement all of the methods that take into account CultureInfo or Encoding stuff.