add matchAll for multiple matches against a value
when pattern matching a map, subpieces must match if key is present