@Override
    public int hashCode() {
        return name.hashCode();
    }
@Test
    public void test_hash() {
        assertEquals(new Option<>("foo", String.class).hashCode(), new Option<>("foo", String.class).hashCode());

        //hash is only based on name
        assertEquals(new Option<>("foo", String.class).hashCode(), new Option<>("foo", Integer.class).hashCode());
    }