releaseDeviceHandle :: Handle -> Sys ()
releaseDeviceHandle fd = close fd
   |> evalCatchFlowT (\err -> do
      let msg = textFormat ("close (failed with " % shown % ")") err
      sysLog LogWarning msg)
releaseDeviceHandle :: Handle -> Sys ()
releaseDeviceHandle fd = close fd
   |> evalCatchFlowT (\err -> do
      let msg = textFormat ("close (failed with " % shown % ")") err
      sysLog LogWarning msg)
releaseDeviceHandle fd = close fd
   |> evalCatchFlowT (\err -> do
      let msg = textFormat ("close (failed with " % shown % ")") err
      sysLog LogWarning msg)