If you combine many lines of code into one, you lose readability in any language ;).
Probably you would actually format this as follows:
let menu = GMenu.menu () in
let explain = GMenu.menu_item ~packing:menu#add ~label:"Explain this decision" () in
explain#connect#activate ~callback:(fun () -> show_explanation impl)
|> ignore;
menu#popup ~button:(B.button bev) ~time:(B.time bev);
Which is rather nicer.