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 ()
sendMessages :: [MTaskMSGSend] -> (MTaskDevice -> Task Channels)
-getDevice :: String -> Task MTaskDevice
withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task ()