Possible resolutions:
- Outlaw the use of reserved properties (i.e. produce a compile-time error when they are used)
- Choose new names for the reserved properties that are less likely to collide with user code (e.g.
$msg, $lvl, etc)
- Nest all user properties in a dedicated sub-field of the record.
The most likely initial resolution will be option 1).