Structs branch review

Let's use this pull request to do a code review of the structs branch.