arithmetic2 :: (Int -> Int -> Int) -- arithmetic operation
                -> (GMState -> GMState) -- state transition
arithmetic2 = primitive2 boxInteger unboxInteger
arithmetic2 :: (Int -> Int -> Int) -- arithmetic operation
                -> (GMState -> GMState)
arithmetic2 = primitive2 boxInteger unboxInteger
arithmetic2 = primitive2 boxInteger unboxInteger