Support for list<MyStruct> list<Enum> in functions

NOT READY TO GO -- read on ...

Functions that return a Struct that itself contains a list of another
struct or list of enums could not be compiled. This code fixes it,
though the tests are too high level and a bit ugly, in that the first
fix to get past the thrown exception wasn't sufficient, and I was only
able to verify the complete fix in a separate test rig I have. I'm
pushing this as-is now to get some feedback on testing, the fix itself
and applying it to Map, presuming there's a similar issue there.