Combines two T instances associatively.
Combines two T instances associatively.
result of combining l and r
Returns an instance of T calculated by summing all instances in
iter in one pass.
Returns an instance of T calculated by summing all instances in
iter in one pass. Returns None if iter is empty, else
Some[T].
instances of T to be combined
None if iter is empty, else an option value containing the summed T
Returns the identity element of T for plus.
Returns the identity element of T for plus.
Group, Ring, and Field ARE NOT AUTOMATIC. You have to check that the laws hold for your Applicative. If your M[_] is a wrapper type (Option[_], Some[_], Try[_], Future[_], etc...) this generally works.