anchor.diff:               end,
       case Test(Value) of
           false when Nullable, Value=:=Null ->
  -            {ok, Config};  %% Don't create nullable values
  +            Create();  %% Populate nullable values
           true ->
               Create();
           false ->
  
positive.code: -module(erlcfg_schema).
  -export([
          new/1,
          combine/2,
          validate/2
      ]).
  -include("schema.hrl").
  
  
  new(FileName) ->
      case file:read_file(FileName) of
          {ok, Binary} ->
              String = binary_to_list(Binary),
              {ok, TokenList, _LineCount} = erlcfg_schema_lexer:string(String),
              {ok, Ast} = erlcfg_schema_parser:parse(TokenList),
              {ok, Types} = erlcfg_schema_analyser1:analyse(Ast),
              {ok, erlcfg_schema_analyser2:analyse(Ast, Types)};
          {error, Reason} ->
              throw({cannot_find_schema, FileName, file:get_cwd(), Reason})
      end.
  
  combine(nil, nil) ->
  
negative.code:         fun(Key, Info, {ok, Cfg}) -> validate3(Key, Info, Cfg) end,
          {ok, Config}, SchemaTable).
  
  validate3(Key, _D = #declaration{type=Tp, attrs=Attrs = #attrs{nullable=Nullable, null=Null}, validator=Val}, Config) ->
      V = case erlcfg_data:raw_get(Key, Config) of
          {error, _} when Nullable ->
              Null;
          {error, _} ->
              case ensure_raw_default(Tp, Attrs#attrs.default) of
                  ?ERLCFG_SCHEMA_NIL ->
  