I could assign sequence numbers to scopes and store start/end
I want to do a depth-first walk of the scope tree, and reset the
offset as I step up.
+
+13dec2021
+ propagate_types() returns a type, but this isn't really enough.
+ It also receives and sets flags, but these are confused.
+ We need to know:
+ - was there an error - should be give up
+ - was there progress - should we try again
+ - Is Bool a valid alternative to 'type' - attribute of type passed in
+ - Is value and lval - or constlval - attribute of type returned
+ - Can value be calculated at compile time - attribute of type returned.
+ - Can value be memcopied - will be freed if not used. ?? attribute of type returned.
+ -