sig
  type +'a t
  val stage : 'a -> 'a Staged.t
  val unstage : 'a Staged.t -> 'a
end