Cycles must add extra levels as described in the book. The current implementation doesn't seem to calculate levels this way.