sig   type remote   val remote_uri : string -> Ezirmin.Repo.Sync.remote   val pull :     Ezirmin.Repo.Sync.remote ->     Ezirmin.Repo.branch ->     [ `Merge | `Update ] ->     [ `Conflict of string | `Error | `No_head | `Ok ] Lwt.t   val push :     Ezirmin.Repo.Sync.remote -> Ezirmin.Repo.branch -> [ `Error | `Ok ] Lwt.t end