Enum member isFieldCompatible

enum isFieldCompatible(T, string field, Arg) = isField!(T, field) && isProtection!(T, field, "public") && is(Arg : RuntimeReference) ? true : isImplicitlyConvertible!(Arg, typeof(getMember!(T, field)));