title_body: Haskell IDE INLINABLE error help Have you encountered this error? IDE complains that the validator is not INLINABLE, while it actually is:
  Program error: GHC Core to PLC plugin: E043:Error: Reference to a name which is not a local, a builtin, or an external INLINABLE function: Variable GHC.Base..
              No unfolding
  Context: Compiling expr: GHC.Base..
  Context: Compiling expr: GHC.Base..
                             @ (Plutus.V1.Ledger.Contexts.ScriptContext -&gt; GHC.Types.Bool)
  Context: Compiling expr: GHC.Base..
                             @ (Plutus.V1.Ledger.Contexts.ScriptContext -&gt; GHC.Types.Bool)
                             @ Ledger.Typed.Scripts.Validators.WrappedMonetaryPolicyType
  Context: Compiling expr: GHC.Base..
                             @ (Plutus.V1.Ledger.Contexts.ScriptContext -&gt; GHC.Types.Bool)
                             @ Ledger.Typed.Scripts.Validators.WrappedMonetaryPolicyType
                             @ Plutus.V1.Ledger.Value.TokenName
  Context: Compiling expr: GHC.Base..
                             @ (Plutus.V1.Ledger.Contexts.ScriptContext -&gt; GHC.Types.Bool)
                             @ Ledger.Typed.Scripts.Validators.WrappedMonetaryPolicyType
                             @ Plutus.V1.Ledger.Value.TokenName
                             Ledger.Typed.Scripts.Validators.wrapMonetaryPolicy
  Context: Compiling expr: GHC.Base..
                             @ (Plutus.V1.Ledger.Contexts.ScriptContext -&gt; GHC.Types.Bool)
                             @ Ledger.Typed.Scripts.Validators.WrappedMonetaryPolicyType
                             @ Plutus.V1.Ledger.Value.TokenName
                             Ledger.Typed.Scripts.Validators.wrapMonetaryPolicy
                             Plutus.Contracts.FungibleToken.validator
  Context: Compiling expr at &quot;main:Plutus.Contracts.FungibleToken:(19,6)-(19,69)&quot;
  
  Module I'm trying to use IDE in:
  {-# LANGUAGE DataKinds       #-}
  {-# LANGUAGE TemplateHaskell #-}
  
  module Plutus.Contracts.FungibleToken where
  
  import           Ledger.Typed.Scripts      (MonetaryPolicy)
  import qualified Ledger.Typed.Scripts      as Scripts
  import           Plutus.V1.Ledger.Contexts (ScriptContext)
  import qualified Plutus.V1.Ledger.Scripts  as Scripts
  import           Plutus.V1.Ledger.Value    (TokenName, Value)
  import qualified PlutusTx
  
  {-# INLINABLE validator #-}
  validator :: TokenName -&gt; ScriptContext -&gt; Bool
  validator _ _ = True
  
  makeLiquidityPolicy :: TokenName -&gt; MonetaryPolicy
  makeLiquidityPolicy tokenName = Scripts.mkMonetaryPolicyScript $
    $$(PlutusTx.compile [|| Scripts.wrapMonetaryPolicy . validator ||])
      `PlutusTx.applyCode`
          PlutusTx.liftCode tokenName
upvoted_answer: The pragma {-# LANGUAGE NoImplicitPrelude #-} and
  import PlutusTx.Prelude might help.
  It replaces the implicitly defined functions in Haskell by inlinable alternatives. Here is an example for Boolean operators.