{-# LANGUAGE CPP #-}
#if !MIN_VERSION_base(4, 15, 0)
{-# OPTIONS_GHC -Wwarn=unrecognised-pragmas #-}
#endif

module PlutusTx.Function (fix) where

fix :: forall a b. ((a -> b) -> a -> b) -> a -> b
fix :: forall a b. ((a -> b) -> a -> b) -> a -> b
fix (a -> b) -> a -> b
f = let ~a -> b
x = (a -> b) -> a -> b
f a -> b
x in a -> b
x
{-# OPAQUE fix #-}