interface Directory where {

{-# NEED #-}
instance Prelude.NmCoerce (FFIBuiltin.StablePtr a);

{-# NEED #-}
instance Prelude.NmCoerce FFIBuiltin.Addr;

{-# NEED #-}
instance Prelude.NmCoerce FFIBuiltin.ForeignObj;

{-# NEED #-}
instance Prelude.NmCoerce FFIBuiltin.Int8;

{-# NEED #-}
instance Prelude.NmCoerce FFIBuiltin.Int16;

{-# NEED #-}
instance Prelude.NmCoerce FFIBuiltin.Int32;

{-# NEED #-}
instance Prelude.NmCoerce FFIBuiltin.Int64;

{-# NEED #-}
instance Prelude.NmCoerce FFIBuiltin.Word8;

{-# NEED #-}
instance Prelude.NmCoerce FFIBuiltin.Word16;

{-# NEED #-}
instance Prelude.NmCoerce FFIBuiltin.Word32;

{-# NEED #-}
instance Prelude.NmCoerce FFIBuiltin.Word64;

{-# NEED #-}
instance Prelude.NmCoerce PackedString.PackedString;

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Fractional (Ratio.Ratio a);

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Real (Ratio.Ratio a);

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Num (Ratio.Ratio a);

{-# NEED #-}
instance Prelude.Enum FFIBuiltin.Addr;

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Enum (Ratio.Ratio a);

{-# NEED #-}
instance Prelude.Ord FFIBuiltin.Addr;

{-# NEED #-}
instance Prelude.Ord PackedString.PackedString;

{-# NEED #-}
instance Prelude.Ord Permissions;

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Ord (Ratio.Ratio a);

{-# NEED #-}
instance Prelude.Eq FFIBuiltin.Addr;

{-# NEED #-}
instance Prelude.Eq PackedString.PackedString;

{-# NEED #-}
instance Prelude.Eq Permissions;

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Eq (Ratio.Ratio a);

{-# NEED #-}
instance Prelude.Read PackedString.PackedString;

{-# NEED #-}
instance Prelude.Read Permissions;

{-# NEED #-}
instance (Prelude.Read a,Prelude.Integral a) => Prelude.Read (Ratio.Ratio a);

{-# NEED #-}
instance Prelude.Show FFIBuiltin.Addr;

{-# NEED #-}
instance Prelude.Show PackedString.PackedString;

{-# NEED #-}
instance Prelude.Show Permissions;

{-# NEED #-}
instance (Prelude.Integral a) => Prelude.Show (Ratio.Ratio a);
interface FFIBuiltin
{-# NEED StablePtr #-}
data StablePtr a;

{-# NEED ForeignObj #-}
data ForeignObj;

{-# NEED Int8 #-}
data Int8;

{-# NEED Int16 #-}
data Int16;

{-# NEED Int32 #-}
data Int32;

{-# NEED Int64 #-}
data Int64;

{-# NEED Word8 #-}
data Word8;

{-# NEED Word16 #-}
data Word16;

{-# NEED Word32 #-}
data Word32;

{-# NEED Word64 #-}
data Word64;

{-# NEED Addr #-}
data Addr;
interface PackedString
{-# NEED PackedString #-}
data PackedString;
interface Ratio
{-# NEED Ratio #-}
data (Prelude.Integral a) => Ratio a;
interface ! Directory
{-# NEED setCurrentDirectory #-}
setCurrentDirectory{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.IO ())))))));

{-# NEED getCurrentDirectory #-}
getCurrentDirectory{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.IO Prelude.FilePath))));

{-# NEED removeDirectory #-}
removeDirectory{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.IO ())))))));

{-# NEED createDirectory #-}
createDirectory{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.IO ())))))));

{-# NEED renameDirectory #-}
renameDirectory{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.IO ()))))))))));

{-# NEED doesDirectoryExist #-}
doesDirectoryExist{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.IO Prelude.Bool)))))));

{-# NEED doesFileExist #-}
doesFileExist{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.IO Prelude.Bool)))))));

{-# NEED setPermissions #-}
setPermissions{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.Trace -> ((Prelude.R Permissions) -> (Prelude.R (Prelude.IO ()))))))))));

{-# NEED {Permissions Permissions readable writable executable searchable} #-}
data Permissions
  = Permissions {readable :: (Prelude.R Prelude.Bool)} {writable :: (Prelude.R Prelude.Bool)} {executable :: (Prelude.R Prelude.Bool)} {searchable :: (Prelude.R Prelude.Bool)};

{-# NEED removeFile #-}
removeFile{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.IO ())))))));

{-# NEED renameFile #-}
renameFile{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.FilePath) -> (Prelude.R (Prelude.IO ()))))))))));
}
