@Override
    public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      Constrained that = (Constrained)o;
      return Objects.equals(myInstanceOf, that.myInstanceOf) &&
             Objects.equals(myNotInstanceOf, that.myNotInstanceOf);
    }
@Override
    public boolean equals(Object o)