struct X { int b; }; typedef struct list_node *list; struct list_node { list next; list *ptr; struct X *value; }; list *g(list *ptr) { return ptr; }