marray -- one-dimensional mutable array
create a new marray by adding a new element o at the end of this marray
create a stream of T.
A stream contains mutable state, so it cannot be reused or shared
Default implementation uses asList. Heirs must redefine at least
one of asList or asStream.
fold the elements of this array using the given monoid and initial value
Used to fold an array tail-recursively
fold the elements of this array using the given monoid.
e.g., to sum the elements of an array of i32, use a.fold i32.sum
fold the elements of this Sequence using the given monoid.
e.g., to sum the elements of a stream of i32, use s.fold i32.sum