anchor.diff:  -type parse_opts() ::
       #{
           path => binary(),           % Use base path instead of <<>>
  +        allow_unknown => boolean(),
           term() => term()            % To be used as context in external functions
       }.
   
  
positive.code:     ok_all = [] :: [{binary(), val()}],
      syntax :: map(),
      path :: binary(),
      opts :: parse_opts()
  }).
  
  
negative.code:                  {error, Error} ->
                       {error, Error}
               end;
           no_spec when AllowUnknown ->
               #parse{ok=OK, ok_all=OkAll} = Parse,
               PathKey = path_key(Key, Parse),
               Parse2 = Parse#parse{
                   ok = [{Key, Val} | OK],
                   ok_all = [{PathKey, Val} | OkAll]
               },
               {ok, Parse2};
           no_spec ->
              #parse{no_ok=NoOk} = Parse,
              {ok, Parse#parse{no_ok = [path_key(Key, Parse) | NoOk]}}
  