type result = | Resolved of Shape.Uid.t(*Shape reduction succeeded and a uid was found
*)| Resolved_alias of Shape.Uid.t * result(*Reduction led to an alias
*)| Unresolved of Shape.t(*Result still contains
*)Comp_unitterms| Approximated of Shape.Uid.t option(*Reduction failed: it can arrive with first-class modules for example
*)| Internal_error_missing_uid(*Reduction succeeded but no uid was found, this should never happen
*)
The result of reducing a shape and looking for its uid
val print_result : Format.formatter -> result -> unitThe Make functor is used to generate a reduction function for shapes.
local_reduce will not reduce shapes that require loading external compilation units.

