Added tests to catch failure to maintain runtime type when working with ...

...widened collections types.  Then gated them behind a flag, as there are quite a few map/set failures.