struct{} idioms

This change set applies two idioms that use the type struct{} as an easy optimisation.
Please refer to the individual commit messages for more information.