A block-based mechanism for initializing immutable collections from mutable collections.  Slight extension of Adam Preble's approach discussed at http://adampreble.net/blog/2013/04/creating-immutable-collections-mutably/ .