Basically, we need an `enum` and a `struct` for each type.
Basically, we need an
enumand astructfor each type.