bechamel
type t
val inj : 'a array -> ('a, t) app
val prj : ('a, t) app -> 'a array