method module_rec_binding =
fun f ->
function
| Ast.MbNil _ -> ()
| Ast.MbColEq (_, s, mt, me) ->
pp f "@[<2>%a :@ %a =@ %a@]" o#var s o#module_type mt
o#module_expr me
| Ast.MbCol (_, s, mt) ->
pp f "@[<2>%a :@ %a@]" o#var s o#module_type mt
| Ast.MbAnd (_, mb1, mb2) ->
(o#module_rec_binding f mb1;
pp f o#andsep;
o#module_rec_binding f mb2)
| Ast.MbAnt (_, s) -> o#anti f s