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

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

  ...

}