<T extends TypeRepr.AbstractType> T getType(final T t) {
    //noinspection unchecked
    final T r = (T)myTypeMap.get(t);

    if (r != null) {
      return r;
    }

    myTypeMap.put(t, t);

    return t;
  }
<T extends TypeRepr.AbstractType> T getType(final T t)