sig
  type g
  val transitive_closure : ?reflexive:bool -> Oper.S.g -> Oper.S.g
  val add_transitive_closure : ?reflexive:bool -> Oper.S.g -> Oper.S.g
  val transitive_reduction : ?reflexive:bool -> Oper.S.g -> Oper.S.g
  val replace_by_transitive_reduction :
    ?reflexive:bool -> Oper.S.g -> Oper.S.g
  val mirror : Oper.S.g -> Oper.S.g
  val complement : Oper.S.g -> Oper.S.g
  val intersect : Oper.S.g -> Oper.S.g -> Oper.S.g
  val union : Oper.S.g -> Oper.S.g -> Oper.S.g
end