Dynamic scope is lost for functions in constraints. For example, fabric.js defines methods on fabric.Point, and uses only new Point in those, because it is in scope. But when we interpret it, it's not in scope. Maybe we need a whole program translation (like the original lively debugger)