sig
type 'a id
type 'a term
val i : unit -> 'a SECD.id
val u : unit SECD.id
val v : 'a SECD.id -> 'a SECD.term
val p : 'a -> 'a SECD.term
val ( $ ) : ('a -> 'b) SECD.term -> 'a SECD.term -> 'b SECD.term
val fn : 'a SECD.id -> 'b SECD.term -> ('a -> 'b) SECD.term
val cond : bool SECD.term -> 'a SECD.term -> 'a SECD.term -> 'a SECD.term
val yc : (('a -> 'b) -> 'a -> 'b) SECD.term -> ('a -> 'b) SECD.term
val cbv : 'a SECD.term -> 'a
val cbn : 'a SECD.term -> 'a
end