Bug fix: if `this` has a field with value `null`, `equals()` throws a `NullPointerException` despite that being a valid state.