Made some progress in experimenting with using free monads for Job.