Tuples and Parentheses 

There are three ways to write tuple expressions. The most general form is TUPLE(tree, ...):

scala> import treehugger.forest._, definitions._, treehuggerDSL._
import treehugger.forest._
import definitions._
import treehuggerDSL._

scala> TUPLE()                      // ()
res0: treehugger.forest.Tree = Literal(Constant(()))

scala> TUPLE(REF("x"))              // (x)
res1: treehugger.forest.Tree = Apply(Ident(Tuple1),List(Ident(x)))

scala> TUPLE(LIT(0), LIT(1))        // (0, 1)
res2: treehugger.forest.Tree = Apply(Ident(Tuple2),List(Literal(Constant(0)), Literal(Constant(1))))

The second way is to use UNIT literal:

scala> UNIT                         // ()
res3: treehugger.forest.Literal = Literal(Constant(()))

Finally, PAREN(tree, ...) can also be used to write a tuple expression:

scala> PAREN(REF("x"))              // (x)
res4: treehugger.forest.Tree = Apply(Ident(Tuple1),List(Ident(x)))

Semantically speaking the actual scala.Tuplen are formed only when two or more arguments are passed, but as a syntactic expression, PAREN is just an alias to TUPLE.