let cdr = fun (Cdr, ((_, b), rest)) -> (b, rest)
let cdr (Cdr, ((_, b), rest)) = (b, rest)
The first one when you're working with GADTs say that the pattern matching is not exhaustive, the second one doesn't, but there is no good way to represent the second one in Reason
In OCaml this two pieces of code are different
The first one when you're working with GADTs say that the pattern matching is not exhaustive, the second one doesn't, but there is no good way to represent the second one in Reason