Polymorphic Classes
Polymorphic classes are defined using withTypeParams(...):
(CLASSDEF("Queue") withTypeParams(TYPEVAR("T"))
withParams(VAL("leading", "T"), VAL("trailing", "T")): Tree)
This prints as:
class Queue[T](val leading: List[T], val trailing: List[T])