Modify type system to support structs.
work-around for Rust bug.
Fix parsing of struct initialisation.