sig
  type return_type =
    Atomic_edit.return_type =
      Ok
    | Changed of string * string
    | Abort
  val atomic_edit : f:(string -> [ `Abort | `Ok ]) -> string -> return_type
  val ounit_tests : unit -> OUnit.test
end