Want to add algebraic data types / sum types via enums.
Syntax
enum Foo {
Bar { a: number },
Baz { s: string },
Qux,
}
These are available in most modern languages alongside pattern matching which should be done later on to match this (otherwise this would be pointless)