sl/cont_shape_var: propagate shape variables forward
sl/cont_shape_var: allow to recover from a missing shape
sl/adt_op_replace: make tryReplaceIter() less strict

We no longer require to iterate on a single variable.