В языке Verse есть специальный тип any, который является супертипом для всех типов (при этом все остальные типы являются подтипами any). Таким образом, any поддерживает ограниченное количество операций, поскольку все остальные типы должны предоставлять тот же функционал, что и any.
Например, если бы any определял операцию сравнения (чего он не делает), то все остальные типы тоже должны были бы определять операцию сравнения (чего они не делают).
Возможности работы с типом any ограничены, но об этом типе полезно знать, поскольку он может встретиться при написании кода, который выдаёт ошибку.
Тем не менее тип any можно использовать в некоторых случаях:
Letters := enum:
A
B
C
letter := class:
Value : char
Main(Arg : int) : void =
X := if (Arg > 0)
Letters.A
else
letter{Value := 'D'}
В приведённом выше примере переменной X присвоен тип any, поскольку это наименьший общий супертип для Letters и letter.
Более того, any можно использовать в качестве типа параметра функции, которая игнорируется (но может потребоваться в качестве аргумента метода реализованного интерфейса).
Например:
FirstInt(X:int, :any) : int = X
Второй аргумент FirstInt игнорируется и может иметь тип any, поэтому ему присваивается тип any. Функцию FirstInt можно записать в более общем виде с помощью параметрических типов. Например:
First(X:t, :any where t:type) : t = X