Wed Apr 10 10:50:35 EDT 2019
• Could not deduce (Show1 TypedForm)
arising from the first field of ‘TypedExpr’ (type ‘TypedExpr' n’)
from the context: Show n
bound by the deriving clause for ‘Show (TypedExpr n)’
use a standalone 'deriving instance' declaration,
so you can specify the instance context yourself
• When deriving the instance for (Show (TypedExpr n))
247 | newtype TypedExpr n = TypedExpr (TypedExpr' n) deriving Show
I've just made it compile. Probably broken now...
EDIT: This is due to an upgrade from 8.2 to 8.6. I have to upgrade,
so figure out why this breaks.
First, find out what Show1 really is:
"Liftings of the Prelude classes Eq, Ord, Read and Show to unary type
EDIT: I really don't want to get into this now. To much of a switch.
EDIT: Maybe I have to? It is an automatically derived instance that
then is not properly automatically derived? I don't understand this
EDIT: There are some weird interactions between
GeneralizedNewtypeDeriving and DeriveAnyClass. I think I've solved it
by using just GeneralizedNewtypeDeriving and not DeriveAnyClass, and
implenting (Show1 TypedExpr) manually. Maybe this is what
DerivingStrategies fixes? I really don't want to know.