@Override
    default boolean isSuperConstraintOf(@NotNull TypeConstraint other) {
      return other == BOTTOM || this.equals(other);
    }
@Override
    default boolean isSuperConstraintOf(@NotNull TypeConstraint other)