{-# OPTIONS_GHC -Wno-missing-export-lists #-}

module Target.AntiPattern.Stan0212 where

import System.IO.Unsafe (unsafeDupablePerformIO, unsafeFixIO, unsafeInterleaveIO, unsafePerformIO)
import Unsafe.Coerce (unsafeCoerce)


stanUndefined :: a
stanUndefined :: forall a. a
stanUndefined = a
forall a. HasCallStack => a
undefined

stanUnsafeCoerce :: String -> Int
stanUnsafeCoerce :: String -> Int
stanUnsafeCoerce = String -> Int
forall a b. a -> b
unsafeCoerce

stanUnsafePerformIO :: String
stanUnsafePerformIO :: String
stanUnsafePerformIO = IO String -> String
forall a. IO a -> a
unsafePerformIO IO String
getLine

stanUnsafeInterleaveIO :: IO ()
stanUnsafeInterleaveIO :: IO ()
stanUnsafeInterleaveIO = IO () -> IO ()
forall a. IO a -> IO a
unsafeInterleaveIO (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())

stanUnsafeDupablePerformIO :: String
stanUnsafeDupablePerformIO :: String
stanUnsafeDupablePerformIO = IO String -> String
forall a. IO a -> a
unsafeDupablePerformIO IO String
getLine

stanUnsafeFixIO :: IO ()
stanUnsafeFixIO :: IO ()
stanUnsafeFixIO = (() -> IO ()) -> IO ()
forall a. (a -> IO a) -> IO a
unsafeFixIO () -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure