Using a struct for the list parsing simplifies the logic and makes the mapping between the result and the Go type safer.