Ooh, thanks for that! I didn't even know hlint existed. That's pretty cool. As far as use of the State monad... What I was thinking is that I've got the CPU state that gets fed into just about every function, which then returns a new modified CPU. So I'm constantly passing the CPU around. I might want to be able to have hooks that allow me to escape normal updating of the CPU when something specific happens (maybe an error, maybe something else). Would State help with that or are there any better alternatives?
Thanks!