5 I think Eva's scheme is the correct one but very hard to implement. One way to do it for non-function
6 definitions is to sort definitions in the order of least dependence on each other. If these definitions
7 (again, non-function) are mutually dependent, an error should be flagged.