I don’t think this is true. The manual says:
Both abstract and concrete types can be parameterized by other types. They can also be parameterized by symbols, by values of any type for which
isbits
returns true (essentially, things like numbers and bools that are stored like C types orstruct
s with no pointers to other objects), and also by tuples thereof. Type parameters may be omitted when they do not need to be referenced or restricted.