add isFieldNothing with better type inference