added last phase of struct lowering to clean up after other passes...it's getting to be quite a fragile stack of optimizations