let missing_bound ppf ~scheme ~constrain ~explanation =
match explanation with
None ->
fprintf ppf
"@[<v>@[The expected scheme is equivalent to@;<1 2>%t@ and every instance of the provided one requires@;<1 2>@[<h>%t@]."
scheme constrain
| Some expl ->
fprintf ppf
"@[<v>@[The expected scheme is equivalent to@;<1 2>%t@ and every instance of the provided one requires@;<1 2>@[<h>%t@]@ but@;<1 2>@[<h>%t@]@ does not hold."
scheme constrain expl