anchor.diff:        check_validity(Key, Value, [newest, oldest, round_robin]),
         finalize(Rest, [Option|Acc]);
       scheduling_bound ->
  +      ValidityCheck = {fun(V) -> V >= 0 end, "a non-negative integer"},
  +      check_validity(Key, Value, ValidityCheck),
         NewRest =
  -        case Value =:= infinity of
  +        case proplists:is_defined(scheduling_bound_type, Acc ++ Rest) of
             true -> Rest;
  -          false ->
  -            ValidityCheck = {fun(V) -> V >= 0 end, "a non-negative integer"},
  -            check_validity(Key, Value, ValidityCheck),
  -            case proplists:is_defined(scheduling_bound_type, Acc ++ Rest) of
  -              true -> Rest;
  -              false ->
  -                Msg = "assuming '--scheduling_bound_type simple'.",
  -                opt_warn(Msg, []),
  -                [{scheduling_bound_type, simple}|Rest]
  -            end
  +          false -> assume(scheduling_bound_type, simple, Rest)
           end,
         finalize(NewRest, [Option|Acc]);
       scheduling_bound_type ->
  
positive.code:   case Type =:= none of
      true -> consistent(Rest, [BoundType|Acc]);
      false ->
        case is_integer(proplists:get_value(scheduling_bound, Rest ++ Acc)) of
          true -> ok;
          false ->
            Warn =
              "No bound value set for ~w bound. Use '--scheduling_bound' to"
              " specify an integer value as a bound, or remove the bound type"
              " specification.",
            opt_error(Warn, [Type])
        end,
        case Type =:= bpor of
          false -> ok;
          true ->
  
negative.code:       NewRest =
          case Value =/= bpor orelse proplists:is_defined(dpor, Acc ++ Rest) of
            true -> Rest;
            false -> assume(dpor, source, Rest)
          end,
        NewRest1 =
          case proplists:is_defined(scheduling_bound, Acc ++ Rest) of
            true -> NewRest;
            false -> assume(scheduling_bound, 1, NewRest)
          end,
        finalize(NewRest1, [Option|Acc]);
      MaybeInfinity
        when
          MaybeInfinity =:= interleaving_bound;
  