1{-# LANGUAGE UnboxedSums, MagicHash #-} 2module Lib (flip, getInt) where 3import GHC.Exts 4import Prelude (Int) 5 6{-# NOINLINE flip #-} 7 8flip :: (# Int | Int# #) -> (# Int# | Int #) 9flip (# i | #) = (# | i #) 10flip (# | i #) = (# i | #) 11 12{-# NOINLINE getInt #-} 13 14getInt :: (# Int# | Int #) -> Int 15getInt (# i | #) = I# i 16getInt (# | i #) = i 17