OK, so I experimented with my proposed refactoring, and surprise surprise not all was plain sailing...
So I'll write a cut-down review, and then let's merge this as-is, and figure out the mess afterwards!
Originally posted by @jamesmckinna in #3005 (comment)
See also my latest comment on #2553 of which this should perhaps be seen as a subsidiary issue?
OK, so I experimented with my proposed refactoring, and surprise surprise not all was plain sailing...
Data.Bool.Propertiesdoesn't export any (obvious!) definitions of∧-monoid,∨-monoid, so the++-homotheorem isn't directly applicable... (groan) FIXED in [ add ] missingMonoids toData.Bool.Properties#3017foldrandfoldMap idare appropriately correctly identified, so that the theorem, even if applicable, actually returns the correct result definitionally... (sigh) TODO in [ add ]Data.List.Base.foldMapand refactor #3026Permutationwith the result that the appeal tofoldr-commMonoiditself requires so much extraneous additional plumbing to apply... (bewilderment) TODO largely now fixed in [ add ]Data.List.Base.foldMapand refactor #3026So I'll write a cut-down review, and then let's merge this as-is, and figure out the mess afterwards!
Originally posted by @jamesmckinna in #3005 (comment)
See also my latest comment on #2553 of which this should perhaps be seen as a subsidiary issue?