test_terminate = do
  cell <- newEmptyMVar
  Ok serv <- start $ return $ TS cell
  call serv 1 -- ok
  isEmptyMVar cell >>= assertBool
  cast serv 2 -- fail
  takeMVar cell >>= assertEqual ()
test_terminate = do
  cell <- newEmptyMVar
  Ok serv <- start $ return $ TS cell
  call serv 1 -- ok
  isEmptyMVar cell >>= assertBool
  cast serv 2 -- fail
  takeMVar cell >>= assertEqual ()
test_terminate = do
  cell <- newEmptyMVar
  Ok serv <- start $ return $ TS cell
  call serv 1 -- ok
  isEmptyMVar cell >>= assertBool
  cast serv 2 -- fail
  takeMVar cell >>= assertEqual ()