Pull parsing is efficient but tedious.
We can combine pull parsing with decoding into a struct.
https://codeeval.dev/gist/ddb2cb4a433bc199c6fd2a52121c83f9