Factor out defer following, and now detect circular defers.