added support for auto Type preservation

There is still a bug for maps embedded in lists