:: s -> m () set:haskell-platform

Ensure that the value is considered alive by the garbage collection. Warning: GHC has optimization passes that can erase touch if it is certain that an exception is thrown afterward. Prefer keepAlive.
Variant of touch that keeps a value of an unlifted type (e.g. MutableByteArray#) alive.
Like traceM, but uses show on the argument to convert it to a String.
>>> :{
do
x <- Just 3
traceShowM x
y <- pure 12
traceShowM y
pure (x*2 + y)
:}
3
12
Just 18