fact package:algebra

`factorWith f c` returns a non-empty list containing `f a b` for all `a, b` such that `a * b = c`. Results of factorWith f 0 are undefined and may result in either an error or an infinite list.