Hi, can somebody explain what the notation (# ... #) means? For example it is used in the definition of unsafePerformIO: unsafePerformIO :: IO a -> a unsafePerformIO (IO m) = case m realWorld# of (# _, r #) -> r Thanks, David