Jh loop aware release

self-merge. Complex cycles will remain, but those seem to be small enough that we can live for now until we can find a better solution.