val define :
string ->
(('a e * 'a e * ('a e -> unit e) * unit e) var,
('a e * 'a e * ('a e -> unit e) * unit e) var,
('a e * 'a e * ('a e -> unit e) * unit e) var,
('a e * 'a e * ('a e -> unit e) * unit e) var,
('a e * 'a e * ('a e -> unit e) * unit e) var,
'b)
args ->
unit * stringval _if : ('a * string) -> unit * stringval _endif : unit * string