anchor.diff:      lager:info("Declare received: ~p ~p", [Id, Type]),
       Record = case Type of
           undefined ->
  -            #dv{value=undefined, type=undefined, bounded=false};
  +            #dv{value=undefined, type=undefined, bound=false};
           Type ->
  -            #dv{value=Type:new(), type=Type, bounded=true}
  +            #dv{value=Type:new(), type=Type, bound=true}
       end,
       true = ets:insert(Variables, {Id, Record}),
       {ok, Id}.
  
positive.code:   end;
  
  handle_command({is_det, Id}, _From, State=#state{variables=Variables}) ->
      [{_Key, #dv{bounded=Bounded}}] = ets:lookup(Variables, Id),
      {reply, Bounded, State};
  
  handle_command(_Message, _Sender, State) ->
      {noreply, State}.
  
negative.code:     Lazy = V#dv.lazy,
      Functions = lists:usort(Functions0),
      V1 = #dv{type=Type, value=Value, functions=Functions, next=Next,
               lazy=Lazy, bound=true},
      true = ets:insert(Variables, {Key, V1}),
      notify_all(BindingList, Value),
      reply_to_all(Threads, {ok, Value, Next}).
  