geometry: move up custom `to_s` to the interfaces