Plompiler.BOOLxor a b returns the exclusive disjunction of a and b.
ifthenelse c t e returns t if c is true and e otherwise.
swap c a b returns the pair (b, a) if c is true and (a, b) otherwise.
band_list bs returns the conjunction of the list of booleans bs.
module Internal : sig ... end