You can forward declare the typedefd name without breaking compilation above, like so:

```C
struct webvtt_node_list_t;
typedef struct webvtt_node_list_t webvtt_node_list;
```

And then just use the typedef'd name to declare this pointer.

Shouldn't break anything,  and it's slightly less text to read. But remember that you can't declare the regular struct (non-pointer) without including node_list.h first. And you can't dereference the pointer without including node_list.h first.

These could possibly cause problems later on, but for now, with the architecture of the node_list, it will be fine.