test1 :: IO ()
test1 = do
  v1 <- logging "fib1 took " (withMsecs (fib1 40)) " msecs"
  print v1
  v2 <- logging "fib2 took " (withMsecs (fib2 40)) " msecs"
  print v2
  let s = fib3 40#
  v3 <- logging "fib3 took " (withMsecs (I# s)) " msecs"
  print v3
test1 :: IO ()
test1 = do
  v1 <- logging "fib1 took " (withMsecs (fib1 40)) " msecs"
  print v1
  v2 <- logging "fib2 took " (withMsecs (fib2 40)) " msecs"
  print v2
  let s = fib3 40#
  v3 <- logging "fib3 took " (withMsecs (I# s)) " msecs"
  print v3
test1 = do
  v1 <- logging "fib1 took " (withMsecs (fib1 40)) " msecs"
  print v1
  v2 <- logging "fib2 took " (withMsecs (fib2 40)) " msecs"
  print v2
  let s = fib3 40#
  v3 <- logging "fib3 took " (withMsecs (I# s)) " msecs"
  print v3