anchor.diff:  dbus_errors(Else, S) ->
       {{error, Else}, S}.
   
  +
  +dbus_ok(KindId, MixinIds, Attributes, Fun, S) ->
  +    try unmarshal_entity(KindId, MixinIds, Attributes) of
  +	Entity ->
  +	    {Fun(Entity), S}
  +    catch throw:Err ->
  +	    {{error, Err}, S}
  +    end.
  
positive.code:     ?info("[~p] unmixin(~s. ~s~s)", [?MODULE, Scheme, Term]),
      Args = [ Location, << Scheme/binary, Term/binary >> ],
      case dbus_proxy:call(Backend, ?IFACE_BACKEND, Args) of
  	{ok, [KindId, MixinIds, Attributes, Serial]} ->
  	    Entity = unmarshal_entity(KindId, MixinIds, Attributes),
  	    {{ok, Entity, unmarshal_serial(Serial)}, S};
  	{error, Err} ->
  	    dbus_errors(Err, S)
      end.
  
negative.code:     ?info("[~p] mixin(~s, ~s~s)", [?MODULE, Location, Scheme, Term]),
      Args = [ Location, << Scheme/binary, Term/binary >>, Attributes ],
      case dbus_proxy:call(Backend, ?IFACE_BACKEND, Args) of
  	{ok, {KindId, MixinIds, Attributes, Serial}} ->
  	    dbus_ok(KindId, MixinIds, Attributes,
  		    fun (Entity) ->
  			    {ok, Entity, unmarshal_serial(Serial)}
  		    end, S);
  	{error, Err} ->
  	    dbus_errors(Err, S)
      end.
  