-cafe] template haskell overly conservative during splicing?
|
| When using template haskell (via Derive) to generate this (exact) instance:
|
| instance Foldable ((->) Int) => Foldable
| Data.Derivable.InterpreterLib.Test.List
| where foldMap f (Cons x0 x1) = (const mempty Cons `mappend`
| f
When using template haskell (via Derive) to generate this (exact) instance:
instance Foldable ((->) Int) => Foldable
Data.Derivable.InterpreterLib.Test.List
where foldMap f (Cons x0 x1) = (const mempty Cons `mappend`
foldMap f x0) `mappend` foldMap f x1
foldMap f (Nil) = const