anchor.diff:                  undefined ->
                       case BodyBin of
                           <<>> -> {ok, #dbus_message{header=Header, body=undefined}, Rest};
  -                        _ -> throw({error, body_parse_error})
  +                        _ -> throw(body_parse_error)
                       end;
                   Signature ->
                       case unmarshal_body(MsgType, Signature, BodyBin, Endian) of
                           {ok, Body} -> {ok, #dbus_message{header=Header, body=Body}, Rest};
                           more -> more;
  -                        {error, Err} -> throw({error, Err})
  +                        {error, Err} -> throw(Err)
                       end
               end
       end.
  
positive.code:             {ok, true, Data1, Pos1};
          {ok, 0, Data1, Pos1} ->
              {ok, false, Data1, Pos1};
          {ok, Else, _, _} ->
              throw({error, {parse_error, boolean, Else}})
      end;
  
  unmarshal(uint16, Data, Pos, Endian) ->
  
negative.code: %% * `{ok, [dbus_message()], binary()}': if binary describe a complete list of messages, eventually with remaining binary.
  %% * `more': if no complete message could be decoded.
  %% @end
  -spec unmarshal_data(binary()) -> {ok, Msgs :: [dbus_message()], Rest :: binary()} 
  				      | {error, errors()}
  				      | more.
  unmarshal_data(Data) ->
      try unmarshal_data(Data, []) 
      catch throw:Err ->
  	    {error, Err}
      end.
  
  
  %% @doc Decode a signature
  