A típusszerkezete egyszerű. Néhány alaptípus és a tömb áll rendelkezésre. A deklaráció ugyanúgy történik, mint C-ben. Új típusok létrehozására: csak rekord, de később lesz alias/subtype valamit osztály is.
Egész típusok:
A tömb típust a seq template típussal hozhatunk létre. Ez csak a fordító számára template! Templatek nincsenek a nyelv jelenlegi verziójában.
Rekord típust a record kulcsszóval lehet bevezetni. Hasonló a C-ben megszokott struct-hoz, csak nem kell pontosvesszőt tenni a csukó kapcsos zárójel után.
Típusok közötti átjárás csak konverziós függvényekkel lehetséges. A konverzióks függvények ellenőrzik a típusok értékkészletét, és illegális konverzió esetén ConstraintErrorException kivételt dob.
A változók típusai csak a fentebb említett alaptípusok illetve a tömb lehet. Lehetőség van globális változók
használatára is (global blokk).
Konstansok nincsenek a nyelvben, alternatíva: függvények.
A kifejezések hasonlóak, mint a C-ben megszokottak. Ami lényeges különbség, az az és és a vagy operátor viselkedése. Az && és a || operátorok mohók (ezeket lehet csak túlterhelni), és a lusta változataik a &&& és a ||| (alternatív jelölések: &&> és a ||>). Lusta és és vagy csak bool típusú kifejezéseket köthet össze.