@Nullable
  public PyType getStrOrUnicodeType(boolean definition) {
    PyClassLikeType str = getObjectType("str");
    PyClassLikeType unicode = getObjectType("unicode");

    if (str != null && str.isDefinition() ^ definition) {
      str = definition ? str.toClass() : str.toInstance();
    }

    if (unicode != null && unicode.isDefinition() ^ definition) {
      unicode = definition ? unicode.toClass() : unicode.toInstance();
    }

    return PyUnionType.union(str, unicode);
  }
@Nullable
  public PyType getStrOrUnicodeType(boolean definition)