Delcarative user input for OCaml