(************************************************************************) (* * The Rocq Prover / The Rocq Development Team *) (* v * Copyright INRIA, CNRS and contributors *) (* assert false | Set data -> data let set (hook : 'a t) data = match !hook with | Unset -> hook := Set data | Set _ -> assert false let make () = let ans = ref Unset in (ans, ans)