Anonymous type erasion.
Changed tests,
Merge branch 'anonymous-type-eraser'