To define Pate.Ground.groundMacawEndCase as a pure function, the abstraction boundary of 'MacawBlockEndType is partially violated. We would like to abstract away the specific encoding of 'MacawBlockEndType', but the only function from macaw for interpreting it is 'Macaw.Symbolic.blockEndCase'
Ideally we could break up MacawBlockEndType into its components and define a pure function in Macaw: GroundValue MacawBlockEndType -> MacawBlockEndCase
To define
Pate.Ground.groundMacawEndCase
as a pure function, the abstraction boundary of'MacawBlockEndType
is partially violated. We would like to abstract away the specific encoding of 'MacawBlockEndType', but the only function from macaw for interpreting it is 'Macaw.Symbolic.blockEndCase'Ideally we could break up
MacawBlockEndType
into its components and define a pure function in Macaw:GroundValue MacawBlockEndType -> MacawBlockEndCase