anchor.diff:          fun(DecodeExprs, Rest2Var) ->
                   ReadFieldDefFn = mk_fn(dfp_read_field_def_, MsgName),
                   Params2 = updated_merged_params(MsgName, FieldDef, AnRes,
  -                                                FVar, Params),
  +                                                FVar, Params, Opts),
                   C = ?exprs('<call-read-field>'('<Rest2>', 0, 0, '<Params2>'),
                              [replace_term('<call-read-field>', ReadFieldDefFn),
                               replace_tree('<Rest2>', Rest2Var),
  
positive.code:          ('<X>', Path) ->
                mk_type_error({expected_msg,'<MsgName>'}, X, Path)
        end,
        [replace_tree('<msg-match>', record_match(MsgName, RFields)),
         replace_tree('<Path>', if MsgDef == [] -> ?expr(_Path);
                                   MsgDef /= [] -> ?expr(Path)
                                end),
         splice_trees('<verify-fields>', field_verifiers(FVars)),
         repeat_clauses('<X>', case can_occur_as_sub_msg(MsgName, AnRes) of
                                   true  -> [[replace_tree('<X>', ?expr(X))]];
                                   false -> [] %% omit the else clause
                               end),
  
negative.code:                ?f("~s~n", [format_decoders(Defs, AnRes, Opts)])
         end,
         "\n",
         ?f("~s~n", [format_msg_merge_code(Defs, AnRes, Opts)]),
         "\n",
         format_verifiers_top_function(Defs, Opts),
         "\n",
         ?f("~s~n", [format_verifiers(Defs, AnRes, Opts)]),
         "\n",
  