leaving the parser structure in the ruby layer, but adopting the constant approach in vool
ie modelled like the ast outputs it
the "normalization" is getting more and more complicated and is not tested And it seems i really don't like working with the untyped ast