Potential bug with Tmeta fixed.
Tiny fix.
Tiny refactoring.
Awful implementation of mutually recursive definitions (TODO: remove copy-paste and hacks).