onFinish :: (FinishReason ->TransIO ()) -> TransIO ()
onFinish  close=  do
       Finish finish <- getSData <|> initFinish
       e <- readEVar finish
       close e  -- !!> "CLOSE"
       stop
     <|>
       return ()
onFinish :: (FinishReason ->TransIO ()) -> TransIO ()
onFinish  close=  do
       Finish finish <- getSData <|> initFinish
       e <- readEVar finish
       close e  -- !!> "CLOSE"
       stop
     <|>
       return ()
onFinish  close=  do
       Finish finish <- getSData <|> initFinish
       e <- readEVar finish
       close e  -- !!> "CLOSE"
       stop
     <|>
       return ()