Fix in the expression interpreter: let dynamic types of list, map and
set values be inferred from dynamic types of their elements in contrast
to declared types.

- it affects pattern matching.
Add a few list, map and set tests.