class MTaskDuplex a where
synFun :: a (Shared Channels) -> Task ()
+withDevice :: (MTaskDevice -> Task a) String -> Task a | iTask a
+
startupDevices :: Task [MTaskDevice]
connectDevice :: (MTaskDevice (Shared Channels) -> Task ()) MTaskDevice -> Task ()
manageDevices :: (MTaskDevice (Shared Channels) -> Task ()) [MTaskDevice] -> Task ()
withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task ()
deviceTaskDelete :: MTaskDevice MTaskTask -> Task ()
-deviceTaskAcked :: MTaskDevice Int -> Task ()
+deviceTaskAcked :: MTaskDevice Int Int -> Task ()
deviceTaskDeleteAcked :: MTaskDevice Int -> Task ()
deviceAddSpec :: MTaskDevice MTaskDeviceSpec -> Task ()