The design of the Icon programming language's expression evaluation system, which can perform limited backtracking, was unique amongst imperative programming languages when created. In this paper I explain and critique the original Icon design and show how a similar system can be integrated into a modern dynamically typed language. Finally I detail my experiences of this system and offer suggestions for the lessons to be learned from it. Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Constructs and Features General Terms Languages Keywords Language design, Icon, Converge