A rethink is needed.
See TODO.md. Basically, we need to think about Variable Identities and about removing redundancy.