Cleanup, test readiness

Friendly PR to get the ball rolling.

Major initial concerns:

Inexhaustive pattern matches I commented on in produceStuff, `case resp of`.

Pervasive (Either String ...) - a sum type of all possible errors for the `Left` would be much nicer, bearing add'l stringly context if needed but a constructor to match on is important. I don't know what possible errors etc. would consist of but I can help out here if you'd like me to. May be related to inexhaustive pattern matches.

Let me know when you want to do the rename, I liked your suggestion.