Flambda.With_free_variables
type 'a t
val of_defining_expr_of_let : let_expr -> named t
val of_body_of_let : let_expr -> expr t
val of_expr : expr -> expr t
val of_named : named -> named t
val create_let_reusing_defining_expr : Variable.t -> named t -> expr -> expr
val create_let_reusing_body : Variable.t -> named -> expr t -> expr
val create_let_reusing_both : Variable.t -> named t -> expr t -> expr
val expr : expr t -> named t
val contents : 'a t -> 'a
val free_variables : 'a t -> Variable.Set.t