--- /dev/null
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Channel where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data Chan a
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AL)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)A)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AL)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LA)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+