iterate over list of given type safe against removal of list entry
| pos, |
| || n, |
| || head, |
| || member|
the type * to use as a loop cursor.
another type * to use as temporary storage
the head for your list.
the name of the list_head within the struct.