@Nullable
  public PsiType curry(PsiType @NotNull [] args, int position, @NotNull PsiElement context) {
    final List<GrSignature> curried = CurryKt.curry(mySignatures, args, position, context);
    if (curried.isEmpty()) {
      return null;
    }
    return new GrClosureType(myLanguageLevel, myScope, myFacade, curried, myTypeArgs);
  }
@Nullable
  public PsiType curry(PsiType @NotNull [] args, int position, @NotNull PsiElement context)