public static void Test()
            {
                TypeRequiresPublicFields <T> .Test();

                TypeRequiresPublicMethods <T> .Test();

                TypeRequiresNothing <T> .Test();
            }
        static void TestSingleGenericParameterOnType()
        {
            TypeRequiresNothing <TestType> .Test();

            TypeRequiresPublicFields <TestType> .Test();

            TypeRequiresPublicMethods <TestType> .Test();

            TypeRequiresPublicFieldsPassThrough <TestType> .Test();

            TypeRequiresNothingPassThrough <TestType> .Test();
        }