Add un-tupled traverse method to Map
Parameterize collection factories by their required hint type

and add an Array SeqFactory to basis.containers.
Add HashMap key and value projections

and short-circuit identity collection coercions.
Rename Deque init and last to body and foot, respectively

because it pleases me : )

head <=> foot
body <=> tail
head  => tail
body <=  foot

def foldl[A, B](op: (A, B) => A)(x: A, xs: Deque[B]): A =
  if (xs.isEmpty) x else foldl(op)(op(x, xs.head), xs.tail)

def foldr[A, B](op: (A, B) => B)(xs: Deque[A], x: B): B =
  if (xs.isEmpty) x else foldr(op)(xs.body, op(xs.foot, x))
Add combinable collection interfaces (Stack, Queue, and Deque)

with Side and Flank serving as their purely decomposable bases.
Add concurrent package with atomic stacks and queues
Fix HashMap not updating correctly

Alas, new testing framework coming soon.
New, faster, more modular, even simpler async implementation

Thread pools (called routes) always maintain consistent state. State
changes occur only through Route.adapt, which compares-and-swaps a
single state pointer. A state change can affect multiple parameters;
for example, rousing an idle route will simultaneously activate all
waiting threads, and start any required new threads. Worker threads
(called tracks) maintain locally mutable state with eventually
consistent (to the route's state) semantics.

The PrimeAsync components do not have interdependencies, so other Async
implementations can selectively use them.