Split into two passes. Now there is the general loop extractor, usable on