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