sig
  val ( + ) : Lang.F.binop
  val ( - ) : Lang.F.binop
  val ( ~- ) : Lang.F.unop
  val ( * ) : Lang.F.binop
  val ( / ) : Lang.F.binop
  val ( mod ) : Lang.F.binop
  val ( = ) : Lang.F.cmp
  val ( < ) : Lang.F.cmp
  val ( > ) : Lang.F.cmp
  val ( <= ) : Lang.F.cmp
  val ( >= ) : Lang.F.cmp
  val ( <> ) : Lang.F.cmp
  val ( && ) : Lang.F.operator
  val ( || ) : Lang.F.operator
  val not : Lang.F.pred -> Lang.F.pred
  val ( $ ) :
    ?result:Lang.tau -> Lang.lfun -> Lang.F.term list -> Lang.F.term
  val ( $$ ) : Lang.lfun -> Lang.F.term list -> Lang.F.pred
end