{-# LANGUAGE TemplateHaskellQuotes #-}
module Staged.GHC.Generics.Internal (sapply) where

import Language.Haskell.TH (Code, Quote)

sapply :: Quote q => Code q (a -> b) -> Code q a -> Code q b
sapply :: forall (q :: * -> *) a b.
Quote q =>
Code q (a -> b) -> Code q a -> Code q b
sapply Code q (a -> b)
cf Code q a
cx = [|| $$cf $$cx ||]