Minor optimization -- for union/intersection/difference we don't even need to perform the operation if the inputs are identical.
Use Array.mapReduce within RegularVector.derivative.
Use LazyList from ExtCore to aggregate any errors.