Optional primitives: equals and hashcode