{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module PlutusIR.Core.Instance.Flat () where
import PlutusIR.Core.Type
import PlutusCore qualified as PLC
import PlutusCore.Flat ()
import Flat (Flat)
instance ( PLC.Closed uni
, uni `PLC.Everywhere` Flat
, Flat a
, Flat tyname
, Flat name
, Flat fun
) => Flat (Datatype tyname name uni fun a)
instance Flat Recursivity
instance Flat Strictness
instance ( PLC.Closed uni
, uni `PLC.Everywhere` Flat
, Flat fun
, Flat a
, Flat tyname
, Flat name
) => Flat (Binding tyname name uni fun a)
instance ( PLC.Closed uni
, uni `PLC.Everywhere` Flat
, Flat fun
, Flat a
, Flat tyname
, Flat name
) => Flat (Term tyname name uni fun a)
instance ( PLC.Closed uni
, uni `PLC.Everywhere` Flat
, Flat fun
, Flat a
, Flat tyname
, Flat name
) => Flat (Program tyname name uni fun a)