package fj; import static fj.Function.curry; import fj.data.Array; import fj.data.List; import fj.data.Natural; import fj.data.NonEmptyList; import fj.data.Option; import fj.data.Set; import fj.data.Stream; import java.math.BigInteger; import java.math.BigDecimal; /** * Implementations must satisfy the law of associativity: *