Easily fuseable Vec.
It on purpose doesn't have bad (fusion-wise) instances, like Traversable.
Generally, there aren't functions which would be bad consumers or bad producers.
Instances16Monad, Functor, Applicative, Foldable, Foldable1, Distributive, …
Monad (Vec n)Defined in vec-0.5.1 · Data.Vec.PullFunctor (Vec n)Defined in vec-0.5.1 · Data.Vec.PullApplicative (Vec n)Defined in vec-0.5.1 · Data.Vec.PullSNatI n => Foldable (Vec n)Defined in vec-0.5.1 · Data.Vec.Pull(SNatI m, n ~ 'S m) => Foldable1 (Vec n)Defined in vec-0.5.1 · Data.Vec.PullDistributive (Vec n)Defined in vec-0.5.1 · Data.Vec.PullApply (Vec n)Defined in vec-0.5.1 · Data.Vec.PullBind (Vec n)Defined in vec-0.5.1 · Data.Vec.PullRepresentable (Vec n)Defined in vec-0.5.1 · Data.Vec.PullSNatI n => FoldableWithIndex (Fin n) (Vec n)Defined in vec-0.5.1 · Data.Vec.PullFunctorWithIndex (Fin n) (Vec n)Defined in vec-0.5.1 · Data.Vec.Pull(Eq a, SNatI n) => Eq (Vec n a)Defined in vec-0.5.1 · Data.Vec.PullSemigroup a => Semigroup (Vec n a)Defined in vec-0.5.1 · Data.Vec.PullMonoid a => Monoid (Vec n a)Defined in vec-0.5.1 · Data.Vec.Pulln ~ 'Z => Boring (Vec n a)Defined in vec-0.5.1 · Data.Vec.Pulltype Rep (Vec n) = Fin nDefined in vec-0.5.1 · Data.Vec.Pull