Verse, bir rastgele ifadenin türünü almak için kullanılabilen (modern C++’taki decltype belirleyicisine benzer) özel bir yapıya sahiptir: type. Bu yapı, türün kullanılabildiği her yerde kullanılabilir. Örneğin,
Foo() : int = 0
Bar(X : type{Foo()}) : type{Foo()} = XÖzellikle fonksiyonların türlerini açıklamak için kullanışlıdır ve bir fonksiyonun sonuç türünü, varsayılanların dışında efektleri olan başka bir fonksiyon cinsinden vermek için gereklidir. Örneğin,
comparison := enum:
LT
EQ
GT
Less(X : int, Y : int)<decides> : int =
X < Y
Equal(X : t, Y:comparable where t:subtype(comparable))<decides> : t =
X = Y
Burada, karşılaştırma ifadesi bir karşılaştırma numaralandırmasını her bir numaralandırma değerinin karşılık geldiği karşılaştırma işlemine dönüştürür. Bu örnek aynı zamanda özel _ tanımlayıcısından yararlanır. Bu tanımlayıcı, type içinde aksi durumda kullanılmayacak olan bir adı gerçekten sağlamak zorunda kalmadan bir tanımlayıcının beklendiği yerlerde kullanılabilir.