cleanup to use traced where possible
Reworking the FPGM Monad, to sue resumption.

Not sure if it was worth the bother.