Special-case T==object, which can occur when using anon-types between assemblies, or which just generally means the caller is probably doing something wrong