class ['a, 'b] duplex : signaller -> object end
'a, 'b
signaller -> object end
method side1 : ('a, 'b) transport
('a, 'b) transport
method side2 : ('b, 'a) transport
('b, 'a) transport