Right fold.
Example
:kind! Eval (Foldr (+) 0 [1, 2, 3, 4])Eval (Foldr (+) 0 [1, 2, 3, 4]) :: Natural= 10
Instances6Eval
type Eval (Foldr f y 'Nothing) = yDefined in first-class-families-0.8.1.0 · Fcf.Class.Foldabletype Eval (Foldr f y '[]) = yDefined in first-class-families-0.8.1.0 · Fcf.Class.Foldabletype Eval (Foldr f y ('Left _a)) = yDefined in first-class-families-0.8.1.0 · Fcf.Class.Foldabletype Eval (Foldr f y ('Right x)) = Eval (f x y)Defined in first-class-families-0.8.1.0 · Fcf.Class.Foldabletype Eval (Foldr f y ('Just x)) = Eval (f x y)Defined in first-class-families-0.8.1.0 · Fcf.Class.Foldabletype Eval (Foldr f y (x ': xs)) = Eval (f x (Eval (Foldr f y xs)))Defined in first-class-families-0.8.1.0 · Fcf.Class.Foldable