+//getRealShare :: MTaskDevice MTaskShare -> Shared BCValue
+//getRealShare dev share = sdsLens
+// ("realShare" +++ toString share.identifier)
+// (const $ Just (dev, share.identifier))
+// (SDSRead $ const $ \rs->case find ((==)dev) rs of
+// Nothing = Error $ exception "Device doesn't exist anymore"
+// Just {deviceShares} = case find ((==)share) deviceShares of
+// Nothing = Error $ exception "Share doesn't exist anymore"
+// Just share = Ok share.MTaskShare.value
+// )
+// (SDSWrite $ const $ \rs w->partition ((==)dev) devs of
+// ([], _) = Error $ exception "Device doesn't exist anymore"
+// ([_,_:_], _) = Error $ exception "Multiple matching devices"
+// ([d=:{deviceShares}], devs) = case partition ((==)share) deviceShares of
+// ([], _) = Error $ exception "Share doesn't exist anymore"
+// ([_,_:_], _) = Error $ exception "Multiple matching shares"
+// ([s], shares)
+// # s = {MTaskShare | s & value=val}
+// # d = {MTaskDevice | d & deviceShares=[s:shares]}
+// = Ok $ Just [d:devs])
+// (SDSNotify $ const $ \rs w
+