anchor.diff:      , user           = User
       , host           = Host
       , port           = Port
  -    , path_and_query = PathAndQuery
       , path           = Path
       , query          = Query
       }.
  -
  --spec get_path_and_query(t()) ->
  -    binary().
  -get_path_and_query(#t{path_and_query=PathAndQuery}) ->
  -    PathAndQuery.
   
   -spec get_query(t()) ->
       query().
   get_query(#t{query=Query}) ->
       Query.
  +
  +-spec set_query(t(), query()) ->
  +    t().
  +set_query(#t{}=T, QueryParams) ->
  +    T#t{query=QueryParams}.
   
   -spec to_bin(t()) ->
       binary().
  
positive.code:     , user = none    :: hope_option:t(binary())
      , host           :: binary()
      , port           :: integer()
      , path_and_query :: binary()
      , path           :: binary()
      , query     = [] :: query()
      }).
  
negative.code: 
  -export(
      [ cons/1
      , get_query/1
      , set_query/2
      , to_bin/1
      , of_bin/1
      ]).
  