Expr.LabeledAn expression with a name.
This is used to keep track of where expressions come from in the input problem: the name is only used for display and has no semantic meaning. In particular, the comparison and hashing functions ignore the name: if a given expression has multiple names, it doesn't matter which one we use (on the other hand, distinct expressions should not have the same name).
include Container_types.S_plus_stdlib with type t := tmodule T : Container_types_intf.Thing with type t = tmodule Set : Container_types_intf.Set_plus_stdlib with type elt = tmodule Tbl : Container_types_intf.Tbl_plus_stdlib with type key = t