Return concrete class instead of Object.
Changed error message when using unknown types.
Changed error message when using List, Set and Map.