object ('a)
  method is_started : unit -> bool
  method ngetsym :
    Swarm.SWARM.projection -> Swarm.SWARM.bindhalf -> Swarm.SWARM.bindhalf
  method njoin :
    Swarm.SWARM.projection ->
    Swarm.SWARM.bindhalf ->
    Swarm.SWARM.projection ->
    Swarm.SWARM.bindhalf ->
    Swarm.SWARM.bindhalf -> Swarm.SWARM.joinmessage -> unit
  method nnotify : unit -> unit
  method nrelease : Swarm.SWARM.projection -> Swarm.SWARM.bindhalf -> unit
  method nsplit :
    Swarm.SWARM.projection ->
    Swarm.SWARM.bindhalf ->
    Swarm.SWARM.bindhalf ->
    Swarm.SWARM.projection ->
    Swarm.SWARM.bindhalf -> Swarm.SWARM.splitmessage -> unit
  method ntransfer :
    Swarm.SWARM.projection ->
    Swarm.SWARM.bindhalf ->
    Swarm.SWARM.projection -> Swarm.SWARM.bindhalf -> unit
  method reset_notifier : unit -> unit
  method set_notifier : Swarm.SWARM.notifier_type -> unit
  method start : unit -> unit
  method stop : unit -> unit
  method tarjoin :
    Swarm.SWARM.projection ->
    Swarm.SWARM.bindhalf ->
    '->
    Swarm.SWARM.projection ->
    Swarm.SWARM.bindhalf ->
    Swarm.SWARM.joinmessage ->
    ('a * Swarm.SWARM.projection * Swarm.SWARM.bindhalf) *
    Swarm.SWARM.joinpart
  method tarsplit :
    Swarm.SWARM.projection ->
    Swarm.SWARM.bindhalf ->
    Swarm.SWARM.splitmessage ->
    ('a * Swarm.SWARM.projection * Swarm.SWARM.bindhalf) *
    ('a * Swarm.SWARM.projection * Swarm.SWARM.bindhalf) *
    Swarm.SWARM.splitpart
end