This should cover all the basic cycles. Anything further would require scanning the call stack and live temporaries.