If we had said list comment instead, we would start expanding the value
infinitely. What is a comment? It is a decoder for objects where the
responses field contains comments. What is a comment though? Etc.

By using list (lazy (\_ -> comment)) we make sure the decoder only expands
to be as deep as the JSON we are given. You can read more about recursive data
structures here.

value : Decoder Value

Do not do anything with a JSON value, just bring it into Elm as a Value.
This can be useful if you have particularly crazy data that you would like to
deal with later. Or if you are going to send it out a port and do not care
about its structure.