-deviceSelector :: (Shared ([MTaskMSGRecv],[MTaskMSGSend],Bool)) -> Task ()
-deviceSelector ch = enterInformation "Type" []
+bc2 :: DigitalPin -> Main (ByteCode () Stmt)
+bc2 d = {main = digitalWrite d (lit True) :. noOp}
+
+bc3 :: DigitalPin -> Main (ByteCode () Stmt)
+bc3 d = {main = digitalWrite d (lit False) :. noOp}
+
+
+withDevice :: ((Shared ([MTaskMSGRecv],[MTaskMSGSend],Bool)) -> Task a) -> Task a | iTask a
+withDevice t = withShared ([], [], False) \ch->
+ enterInformation "Type" []