The types on method arguments are described using a slightly enhanced version of MrSpidey's type language.
The function types with asterisks are used for multiple arity and multiple return values. When an asterisk is present in front of the arrow, the teyp before the arrow must be a list and the elements of the list are the arguments of the function. Similarly, when an asterisk appears at the end of the arrow the type after the arrow must be a list whose elements are the types of the multiple return values of the function.
There are also a few shorthands the documentation uses:
(listof <T>) = (rec ([X (union (cons T X) null)]) X)
printable =
(rec ([X (union (cons X X)
(vectorof X)
number boolean void string)])
X)