karma.run offers strict data validation via strong typing. Types can be expressed as data.
Models are type definitions persited in the model collection
We usually categorize types into the following categories:
- Primitive: Simple types used to represent common constructs such as integer numbers, boolean values and text strings.
- Algebraic: More complex types that compose other types to form more larger data structures.
- Semantic: Wrapper types that address a specific use-case.
- Recursion: Types to compose recursive structures.