The style I started with (putting each conformance on its own extension)
turned out to be pointlessly verbose in practice. It also separated the
protocol from the "implentation" in the sense that the property
declarations are what determine how the conformance works.