factory App(FuncDecl decl, List<Expr> args) { if (args.isEmpty) { return ConstVar.func(decl); } return App._(decl, args); }