OCaml variants as first-class values
