Compute the deltas between two sequences of a given type.
Apply the function based on the differences between the two
lists. The resulting List of commands will be returned.
The algorithm used to calculate the diffs is not very efficient
and can degrade to O(n^2), so it's not great for large collections.
Internally the Seq[T] are converted to a List[T]. Finally,
it's highly recommended that T be immutable and does proper equals
testing (e.g., a case class).

Returns the first application of f to an element of in that
results in a Full Box.

Returns the first application of f to an element of in that
results in a Full Box. If f applied to an element of in results
in an Empty Box, then f will be applied to the rest of the
elements of in until a Full Box results. If the list runs out
then an Empty Box is returned.

in

a list of elements to which f can be applied

returns

a Box containing the first Full Box or Empty if f never returns a Full Box