# Only has the keys name and age%{name:binary(),age:integer()}# Has the name key and age is optional%{name:binary(),age:if_set(integer())}# Has the keys name and age and may have other keys (open map)%{...,name:binary(),age:integer()}# Has the key name, may have other keys, but age is not set%{...,name:binary(),age:not_set()}
Maps with domain keys (domain keys are always treated as optional)
# Has atom and binary keys%{atom()=>binary(),binary()=>binary()}# Has atom and binary keys and may have other keys (open map)%{...,atom()=>binary(),binary()=>binary()}
Maps with mixed keys
# Has atom keys with binary values but a `:root` key of type integer%{atom()=>binary(),root:integer()}# Has atom keys with binary values but a `:root` key of type integer, and may have other keys%{...,atom()=>binary(),root:integer()}