Cleaning-up array copying utilities.
Several small (cosmetic) changes.
Adding toString() to type bag.
Removing specialised implementations for update and delete.

Now only a single operation remains that can do both, immutable update and mutable batch updates.
Several small (cosmetic) changes and reformatting.
Unifying API for iteration. Now works for inplace nodes trees with leaf nodes.
Incremental (cached) hash code calculation, plus transient iterator implementation added.
Fixing bug a delete case, plus corrected propagation of replaced values.