Pull parsing is efficient but tedious.

We can combine pull parsing with decoding into a struct.

https://codeeval.dev/gist/ddb2cb4a433bc199c6fd2a52121c83f9