let three fmt = function
  | Three.Yes -> fprintf fmt ":yes"
  | Three.No -> fprintf fmt ":no"
  | Three.X -> fprintf fmt ":x"