Hi, I'm the author of this post. I found it hard to get good information about this topic in Haskell compared to other languages, so I'm hoping this post will help people get started if they are in a similar situation to where I was. This is a topic I'm still actively learning about, so I'm eager to hear about any suggestions or feedback you might have.