Convention:

- all packages in `/types` should be ts only (no dependencies on node or react, whatsoever) so they can be used on frontends and backends with ease
- all models should be as general purpose as possible but very small, so they can be used by as many apps as possible
