Verse jest językiem programowania bazującym na silnym typowaniu, co oznacza, że typ jest przypisywany do każdego identyfikatora. Przy silnym typowaniu kod nie będzie generował nieprzewidywalnych wyników w czasie uruchomienia, ponieważ znane są typy tych identyfikatorów i sposób, w jaki operacje wpływają na te typy.
Istnieją sytuacje, w których typ nie jest bezpośrednio wymagany, na przykład przy tworzeniu stałej. Na przykład w MyConstant := 0 przyjmuje się, że typ MyConstant to liczba całkowita (int), ponieważ przypisana jest do niego wartość całkowita, mimo że typ int nie został wyraźnie podany. W takich przypadkach typ jest wywnioskowany.
Język Verse ma wbudowane typy, które obsługują podstawowe operacje, jakie musi wykonywać większość programów. Można tworzyć własne typy, łącząc je w większe struktury, jednak znajomość tych często spotykanych typów jest ważna dla dalszego stosowania zmiennych oraz stałych w Verse.
Na następnych stronach opisano często spotykane typy Verse:
Logika
Typ logic odpowiada wartościom logicznym true i false.
Int
Typ int oznacza wartości będące liczbami całkowitymi (nie ułamkami).
Float
Typ float reprezentuje wszystkie niecałkowite wartości liczbowe. Może przechowywać duże wartości i precyzyjne ułamki.
Ciąg tekstowy (string)
Typ string reprezentuje wartości nienumeryczne, takie jak słowa, nazwy, zdania i inne zbiory znaków.
Liczba wymierna (rational)
Typ liczby wymiernej (rational) jest używany w wyniku dzielenia liczb całkowitych (integer).
Wartość dowolna (any)
Wartość dowolna (any) jest nadtypem wszystkich typów, co oznacza, że jakiekolwiek zachowanie zdefiniowane dla tego typu jest również zdefiniowane dla wszystkich podtypów any.
Wartość porównania (comparable)
Jako podtyp any, typ comparable dodaje wymóg, że każda wartość tego typu może być porównywana z każdą inną wartością tego typu.
Void
Pustego typu danych można używać wyłącznie jako typu informacji zwrotnej funkcji. Wskazuje on, że wynik funkcji nie jest użyteczny.