Verse tiene un tipo especial, any, que es el supertipo de todos los tipos (todos los demás tipos son subtipos de any). Debido a esto, any admite muy pocas operaciones, ya que todos los demás tipos deben poder proporcionar la misma funcionalidad que proporciona any.
Por ejemplo, si any fuera a definir una operación de comparación (que no lo hace), entonces todos los demás tipos también tendrían que definir una operación de comparación (que no lo hacen).
Es muy poco lo que puedes hacer con un tipo any. Pero es bueno tener en cuenta este tipo, ya que puede surgir al escribir código que produce un error.
Sin embargo, hay formas en las que puedes usar any:
Letters := enum:
A
B
C
letter := class:
Value : char
Main(Arg : int) : void =
X := if (Arg > 0)
Letters.A
else
letter{Value := 'D'}
En el ejemplo de código anterior, X recibe el tipo any, ya que es el supertipo más bajo de Letters y letter.
Para mayor utilidad, any se puede usar como el tipo de un parámetro para una función que se ignora (pero podría ser necesaria como argumento para un método de una interfaz implementada).
Por ejemplo:
FirstInt(X:int, :any) : int = X
El segundo argumento de FirstInt se ignora y puede ser de tipo any, por lo que se le asigna el tipo any. FirstInt se puede escribir de manera más general usando tipos paramétricos. Por ejemplo:
First(X:t, :any where t:type) : t = X