let string_of_generated = function
| `Generated -> "Generated"
| `Provided -> "Provided"
+ | `Implied -> "Implied"
;;
let string_of_flavour = function
| `Elim _sort -> "Elim _"
| `Projection -> "Projection"
| `InversionPrinciple -> "InversionPrinciple"
+ | `DiscriminationPrinciple -> "DiscriminationPrinciple"
| `Variant -> "Variant"
| `Local -> "Local"
| `Regular -> "Regular"