Only one collection can be used with the current implementation.
Error checking is weak at best. Assert(0)s are used in many places in error conditions.