Mpmc channels.
type Sender a = Sender a
type Receiver a = Sender a
let channel : forall a . a -> { sender : Sender a, receiver : Receiver a }
let recv : forall a . Receiver a -> Result () a
let send : forall a . Sender a -> a -> Result () ()