Encoding SAT in OCaml GADTs

Proof that compiling OCaml is NP-hard