When I wrote `Option` and `getOptionIndentifier`, my idea was to implement equals and hash code transparently for the user. We rely on the class and option identifier so that people don't have to do all those complex implementations.