Is there a particular reason that the finite summation over a monoid is defined using Data.Vec.Functional.Vector
, the functional definition for finite vectors, instead of the more natural choice of using the inductive definition from Data.Vec.Base
? If not, I think it should be rewritten using the inductive Vec
as the inductive definition allows pattern matching, which makes many properties of the finite summation easier to prove.