The map operator @
performs what we call a strict
mapping. This means that the data integrity of the mapped data is
checked for. Often this is what we want.
However, sometimes we have to work with incorrect or incomplete data. In these cases, we want to inspect that data and complete it using poke.
For this purpose poke provides an alternate map operator @!
that behaves exactly like the normal operator, but inhibits the
control of data integrity.
The attribute 'strict
can be used to query whether a given
value is strict or non-strict. Non-mapped values are strict by
definition.