let rec join =
  function
  | [] -> assert false
  | [x] -> x
  | x :: xs -> x/(join xs)