Fix BoundsError in `cycle`
Adds Multimethods; `expr_replace` knows how to esc