Solver_mono.UnhintUnhinted mode is similar to ('a, 'd) mode, but its several outermost morphism applications are unhinted.
Treat a regular mode as an unhinted mode, by taking the identity morphism as the outermost unhinted morphism.
val hint :
'a C.obj ->
?hint:('l * 'r) Hint.Morph.t ->
('a, 'l * 'r) t ->
('a, 'l * 'r) modeTakes an unhinted mode, annotate the outermost unhinted morphisms (as a whole) with the given hint, which gives a regular mode.