[2209.01803] Detecting unanticipated mutual recursion using Elegant Objects representation of object-oriented programs