        }

        protected abstract EnumerableValueRetriever CreateTestee();
        
        protected abstract IEnumerable<Type> BuildPropertyTypes(Type valueType);
    }

    public enum TestEnum