@Nullable
  public static PyType union(@Nullable PyType type1, @Nullable PyType type2) {
    return union(Arrays.asList(type1, type2));
  }
@Nullable
  public static PyType union(@Nullable PyType type1, @Nullable PyType type2)