+:: MTaskMSGRecv
+ = MTTaskAck Int
+ | MTTaskDelAck Int
+ | MTSDSAck Int
+ | MTSDSDelAck Int
+ | MTPub Int String
+ | MTMessage String
+ | MTEmpty
+
+:: MTaskMSGSend
+ = MTTask MTaskInterval String
+ | MTTaskDel Int
+ | MTSds Int String
+ | MTUpd Int String
+
+:: MTaskInterval
+ = OneShot
+ | OnInterval Int
+ | OnInterrupt Int
+
+instance toString MTaskInterval
+instance toString MTaskMSGRecv
+instance toString MTaskMSGSend
+encode :: MTaskMSGSend -> String
+decode :: String -> MTaskMSGRecv
+