We really covered a ton in this chapter. You learned how to create JSON decoders and how Elm safeguards applications from untrustworthy APIs. You learned how to use Maybe to deal with missing data and how to write elegant functional code with Maybe.map and function composition. Most importantly, you learned how to interact with HTTP APIs.
You can now build applications that use real data from servers. In the next chapter, you will take that knowledge further to update application state from servers in real time via WebSockets.