@@ -21,6 +21,7 @@ import GHC.TypeLits
2121import qualified Network.HTTP.Types as HTTP
2222import Prelude hiding (concat)
2323import Servant.API
24+import Servant.API.TypeLevel
2425
2526
2627newtype FunctionName = FunctionName { unFunctionName :: [Text] }
@@ -135,15 +136,6 @@ makeLenses ''Req
135136defReq :: Req ftype
136137defReq = Req defUrl "GET" [] Nothing Nothing (FunctionName [])
137138
138−-- | To be used exclusively as a "negative" return type/constraint
139−-- by @'Elem`@ type family.
140−class NotFound
141−
142−type family Elem (a :: *) (ls::[*]) :: Constraint where
143− Elem a '[] = NotFound
144− Elem a (a ': list) = ()
145− Elem a (b ': list) = Elem a list
146−
147139-- | 'HasForeignType' maps Haskell types with types in the target
148140-- language of your backend. For example, let's say you're
149141-- implementing a backend to some language __X__, and you want