This low-level optimization cannot be achieved without using unsafe primitives, therefore, to mutate data structures from pure code.
First of all, note that in the GHC runtime, clean code modifies data structures - evaluating them. For instance.
x = (3+2, 4+5)
main = print (fst x) >>> print (fst x)
GHC print x (5, 4+5), . , print .
, x, , "" .
, , . - .
, Data.Array.Diff. (!). , , . , () " ", . , : , .
; , .
MVar , , OP .
, Haskell. , , Haskell.