TODO: Define user / developer
TODO: Hardware description / model vs program
TODO: Separate compilation / Prelude
-TODO: Add case binder removal transformation
TODO: User-defined type classes (future work?)
TODO: Entity / Architecture / Component vs Function?
TODO: Expand on "representable"