transform (p_p_list_item -w target, p_list_item list)
    where (target :: *)      
{
  list_item item = .;
  ...

  *target = &item;                                                             /*  "target pointer is out of the scope" */

  ...

}