Use a small helper function to set the right types, and implicit generate the tuple monoid