Types, Annotations, and Assignments 

Typed expressions 

Typed expressions are written using withType(typ|"C"):

LIT(0) withType(LongClass)   // (0: Long)

Annotated expressions 

Annotated expressions are written using withAnnots(annot, ...):

REF("e") withAnnots(ANNOT(UncheckedClass))

This prints as:

(e: @unchecked)

Annotations are covered later in details.

Assignments 

Assignments are written using :=:

REF("x") := LIT(0)           // x = 0