let yes_or_no yes no a =
    match yes a with
      | Some(rho) -> 
          Three.Yes(rho)
      | None -> 
          (match no a with
             | Some(rho) -> 
                 Three.No(rho) 
             | None ->
                 Three.X)