rewrite show in extensible typeclass-style