code: public <V> HMap put(TypeSafeKey<?, V> key, V value) {
          return alter(t -> t.put(key, view(key.mirror(), value)));
      }
docs: Store a value for the given key.
  
  @param key   the key
  @param value the value
  @param <V>   the value type
  @return the updated HMap