anchor.diff:      attempt(Config, Player, {<<"helmet">>, move, from, Player, to, first_available_body_part}),
       ?WAIT100,
       undefined = val(item, Player),
  -    Helmet = val(item, head1),
  -    {Head, head} = val(body_part, Helmet).
  +    {Helmet, _BodyPartRef} = val(item, head1),
  +    {body_part, Head, head, _BodyPartRef} = val(body_part, Helmet).
   
   player_wield_missing_body_part(Config) ->
       start(?WORLD_4),
  
positive.code:     Helmet = val(item, player),
      attempt(Config, Player, {<<"helmet">>, move, from, Player, to, <<"head">>}),
      ?WAIT100,
      Helmet = val(item, head1),
      {Head, head} = val(body_part, Helmet),
      undefined = val(item, player).
  
  player_wield_wrong_body_part(Config) ->
  
negative.code:     attempt(Config, Player, {<<"ring1">>, move, from, Player, to, <<"finger1">>}),
      ?WAIT100,
      [Ring2] = all(item, player),
      [{Ring1, _BodyPartRef1}] = all(item, finger1),
      {body_part, Finger1, finger, _BodyPartRef2} = val(body_part, Ring1),
      [] = all(item, finger2),
      attempt(Config, Player, {<<"ring2">>, move, from, Player, to, <<"finger1">>}),
      ?WAIT100,
      [Ring2] = all(item, player),
      [{Ring1, _BodyPartRef3}] = all(item, finger1),
      [] = all(item, finger2),
      attempt(Config, Player, {<<"ring2">>, move, from, Player, to, first_available_body_part}),
      ?WAIT100,
      [] = all(item, player),
      [{Ring1, _BodyPartRef4}] = all(item, finger1),
      [{Ring2, _BodyPartRef5}] = all(item, finger2),
      {body_part, Finger2, finger, _BodyPartRef6} = val(body_part, Ring2).
  
  player_remove(Config) ->
      start(?WORLD_4),
  