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 이기 때문입니다.
더 유용한 예시도 있습니다. any 는 무시된, 그러나 구현된 인터페이스의 메서드를 위한 실행인자로 필요할 수도 있는 함수의 파라미터 타입으로 사용될 수 있습니다.
예를 들면
FirstInt(X:int, :any) : int = X
FirstInt 의 두 번째 실행인자는 무시되며, any 타입이 될 수 있으므로 any 타입이 주어집니다. FirstInt 는 일반적으로 파라미터 타입을 통해 작성될 수 있습니다. 예를 들면
First(X:t, :any where t:type) : t = X