module PlutusIR (
    -- * AST
    Term (..),
    progAnn,
    progVer,
    progTerm,
    termSubterms,
    termSubtypes,
    termBindings,
    termAnn,
    bindingAnn,
    Type (..),
    typeSubtypes,
    Datatype (..),
    datatypeNameString,
    datatypeSubtypes,
    Kind (..),
    Recursivity (..),
    Strictness (..),
    Binding (..),
    bindingSubterms,
    bindingSubtypes,
    bindingIds,
    Program (..),
    applyProgram,
    TyName (..),
    Name (..),
    VarDecl (..),
    TyVarDecl (..),
    varDeclNameString,
    tyVarDeclNameString
    ) where

import PlutusIR.Core