let map_expr f =
              object
                inherit map as super
                  
                method expr = fun x -> f (super#expr x)
                  
              end