Addition of structs

One test on ./driver.py fails, pointing to the main current issue with struct typing (see TODOs in resolvetyping)
Again, there's the distinction between what is "needed" and what the superclass expects. Don't skip the children unless you have a good reason, if it you know it doesn't do anything.