


  def ping n:Int =
    new d : ^[]
    if (== n 0) then
                    ()
      else
        ( pr!["ping" (rchan d)]
        | d?[] = pong!(dec n)
        )
  and pong n:Int =
    new c : ^[]
    if (== n 0) then
                    ()
      else
        ( pr!["pong" (rchan c)]
        | c?[] = ping!(dec n)
        )



