sbool fieldTypeCompatibleWith(O o, S field, O value) { Class type = fieldType(o, field); ret value == null ? !isPrimitiveType(type) : isInstanceX(type, value); }