Add FreeTrace.hs

Following up on the discussion in #9. It compiles but I haven't tested it.
Yeah… I suspect there are ways to work around this, including restructuring other code but if you already have a working solution it's probably not worth it. If you think there's something salvageable here I'll leave the PR open but otherwise we might as well close it.