@@ -32,6 +32,7 @@ import qualified Control.Monad.State as S
3232import Data.Aeson
3333import Data.Aeson.Types (Parser)
3434import Data.Constraint
35+import Data.List (intercalate)
3536import Data.Maybe (catMaybes)
3637import Data.Proxy
3738import qualified Data.Text as T
@@ -42,8 +43,6 @@ import GHC.OverloadedLabels
4243import GHC.Prim
4344import GHC.ST (ST (..), runST)
4445import GHC.TypeLits
45−import Generic.Data (gshowsPrec)
46−import Generic.Data.Internal.Show (GShow)
4746import qualified Optics.Lens as OL
4847import Unsafe.Coerce
4948import Prelude
@@ -102,13 +101,12 @@ defaultJSONOptions = JSONOptions {fieldTransform = id}
102101type role Rec representational
103102
104103instance
105− ( RecApply lts lts Show,
106− GShow Proxy (Rep (Rec lts)),
107− Generic (Rec lts)
104+ ( RecApply lts lts Show
108105 ) =>
109106 Show (Rec lts)
110107 where
111− show = (\x -> if null x then "{}" else x) . unwords . drop 1 . words . flip (gshowsPrec 0) ""
108+ show rec = "{" ++ formatted ++ "}"
109+ where formatted = intercalate ", " $ map (\(k, v) -> k ++ " = " ++ v) $ showRec rec
112110
113111instance RecEq lts lts => Eq (Rec lts) where
114112 (==) (a :: Rec lts) (b :: Rec lts) = recEq a b (Proxy :: Proxy lts)