Addition of structs

One test on ./driver.py fails, pointing to the main current issue with struct typing (see TODOs in resolvetyping)
Better would be to throw an exception or assertion.

throw std::runtime_error("Blah blah blah");