public virtual IEnumerable <IModelMemberInfo> GetProperties(TypeInfo type, Func <PropertyInfo, bool> propertySelector = null) => TryGetValue(type.AsType(), out var infos) ? infos : ModelingHelpers.GetCompatibleModelProperties(type, propertySelector);