private static BasicList <PropertyInfo> GetProperties <T>() { Type type = typeof(T); BasicList <PropertyInfo> output = type.GetProperties().ToBasicList(); if (output.Exists(x => x.IsSimpleType()) == false) { throw new CustomBasicException("There are some properties that are not simple. This only handles simple types for now"); } return(output); }