anchor.diff:  
   is_option_valid({simple_structs, Flag}) when is_boolean(Flag) ->
       true;
  +is_option_valid({node_mods, Mods}) when is_list(Mods) ->
  +    Fun = fun(Mod) ->
  +        not yaml_app:is_node_mod(Mod)
  +    end,
  +    case lists:filter(Fun, Mods) of
  +        [] -> true;
  +        _  -> false
  +    end;
  +is_option_valid({schema, Schema})
  +  when Schema == failsafe orelse Schema == json orelse Schema == core ->
  +    true;
   is_option_valid(_) ->
       false.
   
  
positive.code: %% -------------------------------------------------------------------
  
  setup_node_mods(Repr) ->
      Mods  = yaml_app:get_param(node_mods) ++ ?CORE_SCHEMA_MODS,
      Auto  = filter_autodetected_node_mods(Mods, []),
      Tags  = index_tags(Mods, []),
      Repr1 = Repr#yaml_constr{
        mods = Auto,
  
negative.code:     },
      return_new_fun(Repr1).
  
  umerge_unsorted(List1, List2) ->
      Fun = fun(Mod, List) ->
          case lists:member(Mod, List) of
              true  -> List;
              false -> List ++ [Mod]
          end
      end,
      lists:foldl(Fun, List1, List2).
  
  filter_autodetection_capable_mods([Mod | Rest], Auto) ->
      Auto1 = case erlang:function_exported(Mod, try_construct_token, 3) of
          true  -> [Mod | Auto];
          false -> Auto
      end,
      filter_autodetection_capable_mods(Rest, Auto1);
  filter_autodetection_capable_mods([], Auto) ->
      lists:reverse(Auto).
  
  index_tags([Mod | Rest], Tags) ->
  