bbuf = interface { full, mid, empty } new = method(n:int) replies(self{empty}) put = method({empty,mid}b:self{mid,full}, i:int) get = method({full,mid}b:self{mid,empty}) replies(int) end bbuf