This branch is dismissed.
Programmatically calculating cycles would required too many special cases, magic numbers, corrections, conditions... etc.
The original idea of improved readability and maintainability proved itself wrong.