@Nullable
  @Override
  public PyType getGenericType(@NotNull PyClass cls, @NotNull TypeEvalContext context) {
    PyFunction init = cls.findInitOrNew(true, context);
    if (init != null) {
      PyType returnType = Ref.deref(getReturnType(init, context));
      if (returnType instanceof PyCollectionType) {
        return returnType;
      }
    }

    return null;
  }
@Nullable
  @Override
  public PyType getGenericType(@NotNull PyClass cls, @NotNull TypeEvalContext context)