{-# LANGUAGE OverloadedStrings #-}

module Application.TermSearch.Dataset where

import           Data.ECTA
import           Data.Map                       ( Map )
import           Data.Text                      ( Text )

import           Application.TermSearch.Type
import           Application.TermSearch.Utils


typeToFta :: TypeSkeleton -> Node
typeToFta :: TypeSkeleton -> Node
typeToFta (TVar Text
"a"  ) = Node
var1
typeToFta (TVar Text
"b"  ) = Node
var2
typeToFta (TVar Text
"c"  ) = Node
var3
typeToFta (TVar Text
"d"  ) = Node
var4
typeToFta (TVar Text
"acc") = Node
varAcc
typeToFta (TVar Text
v) =
  [Char] -> Node
forall a. HasCallStack => [Char] -> a
error
    ([Char] -> Node) -> [Char] -> Node
forall a b. (a -> b) -> a -> b
$ [Char]
"Current implementation only supports function signatures with type variables a, b, c, d, and acc, but got "
    [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Text -> [Char]
forall a. Show a => a -> [Char]
show Text
v
typeToFta (TFun  TypeSkeleton
t1    TypeSkeleton
t2      ) = Node -> Node -> Node
arrowType (TypeSkeleton -> Node
typeToFta TypeSkeleton
t1) (TypeSkeleton -> Node
typeToFta TypeSkeleton
t2)
typeToFta (TCons Text
"Fun" [TypeSkeleton
t1, TypeSkeleton
t2]) = Node -> Node -> Node
arrowType (TypeSkeleton -> Node
typeToFta TypeSkeleton
t1) (TypeSkeleton -> Node
typeToFta TypeSkeleton
t2)
typeToFta (TCons Text
s     [TypeSkeleton]
ts      ) = Text -> [Node] -> Node
mkDatatype Text
s ((TypeSkeleton -> Node) -> [TypeSkeleton] -> [Node]
forall a b. (a -> b) -> [a] -> [b]
map TypeSkeleton -> Node
typeToFta [TypeSkeleton]
ts)

speciallyTreatedFunctions :: [Text]
speciallyTreatedFunctions :: [Text]
speciallyTreatedFunctions =
  [ -- `($)` is hardcoded to only be in argument position
    Text
"(Data.Function.$)"
  ,
    -- `id` is almost entirely useless, but clogs up the graph. Currently banned
    Text
"Data.Function.id"
  ]

hooglePlusComponents :: [(Text, TypeSkeleton)]
hooglePlusComponents :: [(Text, TypeSkeleton)]
hooglePlusComponents =
  [ ( Text
"(Data.Bool.&&)"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"(Data.Bool.||)"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"(Data.Eq./=)"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> TypeSkeleton
TVar Text
"a"])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])))
    )
  , ( Text
"(Data.Eq.==)"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> TypeSkeleton
TVar Text
"a"])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])))
    )
  , ( Text
"(Data.Function.$)"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"b")) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"b"))
    )
  , ( Text
"(GHC.List.!!)"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , ( Text
"(GHC.List.++)"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , (Text
"@@hplusTCInstance@@0EqBool"  , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []])
  , (Text
"@@hplusTCInstance@@0EqChar"  , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []])
  , (Text
"@@hplusTCInstance@@0EqDouble", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Double" []])
  , (Text
"@@hplusTCInstance@@0EqFloat" , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Float" []])
  , (Text
"@@hplusTCInstance@@0EqInt"   , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []])
  , (Text
"@@hplusTCInstance@@0EqUnit"  , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Unit" []])
  , ( Text
"@@hplusTCInstance@@0IsString"
    , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@IsString" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" []]
    )
  , ( Text
"@@hplusTCInstance@@0NumDouble"
    , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Num" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Double" []]
    )
  , (Text
"@@hplusTCInstance@@0NumFloat", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Num" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Float" []])
  , (Text
"@@hplusTCInstance@@0NumInt"  , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Num" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []])
  , (Text
"@@hplusTCInstance@@0OrdBool" , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []])
  , (Text
"@@hplusTCInstance@@0OrdChar" , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []])
  , ( Text
"@@hplusTCInstance@@0OrdDouble"
    , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Double" []]
    )
  , (Text
"@@hplusTCInstance@@0OrdFloat", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Float" []])
  , (Text
"@@hplusTCInstance@@0OrdInt"  , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []])
  , (Text
"@@hplusTCInstance@@0ShowBool", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []])
  , (Text
"@@hplusTCInstance@@0ShowChar", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []])
  , ( Text
"@@hplusTCInstance@@0ShowDouble"
    , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Double" []]
    )
  , ( Text
"@@hplusTCInstance@@0ShowFloat"
    , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Float" []]
    )
  , (Text
"@@hplusTCInstance@@0ShowInt" , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []])
  , (Text
"@@hplusTCInstance@@0ShowUnit", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Unit" []])
  , ( Text
"@@hplusTCInstance@@1Show"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> TypeSkeleton
TVar Text
"b"])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]])
      )
    )
  , ( Text
"@@hplusTCInstance@@2Read"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Read" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Read" [Text -> TypeSkeleton
TVar Text
"b"])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Read" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]])
      )
    )
  , ( Text
"@@hplusTCInstance@@3Ord"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> TypeSkeleton
TVar Text
"b"])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]])
      )
    )
  , ( Text
"@@hplusTCInstance@@4Eq"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> TypeSkeleton
TVar Text
"b"])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]])
      )
    )
  , ( Text
"@@hplusTCInstance@@6Semigroup"
    , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Semigroup" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]]
    )
  , ( Text
"@@hplusTCInstance@@9Eq"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> TypeSkeleton
TVar Text
"a"])
           (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]])
    )
  , ( Text
"Cons"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , (Text
"Data.Bool.False", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])
  , (Text
"Data.Bool.True" , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])
  , ( Text
"Data.Bool.bool"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []) (Text -> TypeSkeleton
TVar Text
"a")))
    )
  , (Text
"Data.Bool.not"      , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
  , (Text
"Data.Bool.otherwise", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])
  , ( Text
"Data.ByteString.Builder.byteString"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.byteStringHex"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.char7"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.char8"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.charUtf8"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.doubleBE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Double" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.doubleDec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Double" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.doubleHexFixed"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Double" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.doubleLE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Double" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.floatBE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Float" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.floatDec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Float" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.floatHexFixed"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Float" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.floatLE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Float" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.hPutBuilder"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Handle" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Unit" []]))
    )
  , ( Text
"Data.ByteString.Builder.int16BE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int16" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int16Dec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int16" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int16HexFixed"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int16" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int16LE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int16" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int32BE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int32" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int32Dec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int32" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int32HexFixed"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int32" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int32LE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int32" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int64BE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int64Dec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int64HexFixed"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int64LE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int8"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int8Dec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.int8HexFixed"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.intDec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.integerDec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Integer" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.lazyByteString"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.lazyByteStringHex"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.shortByteString"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ShortByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.string7"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.string8"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.stringUtf8"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.toLazyByteString"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Builder.word16BE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word16" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word16Dec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word16" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word16Hex"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word16" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word16HexFixed"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word16" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word16LE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word16" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word32BE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word32" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word32Dec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word32" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word32Hex"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word32" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word32HexFixed"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word32" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word32LE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word32" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word64BE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word64" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word64Dec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word64" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word64Hex"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word64" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word64HexFixed"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word64" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word64LE"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word64" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word8"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word8Dec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word8Hex"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.word8HexFixed"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.wordDec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Builder.wordHex"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Builder" [])
    )
  , ( Text
"Data.ByteString.Lazy.all"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"Data.ByteString.Lazy.any"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"Data.ByteString.Lazy.append"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.appendFile"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Unit" []]))
    )
  , ( Text
"Data.ByteString.Lazy.break"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
      )
    )
  , ( Text
"Data.ByteString.Lazy.concat"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.concatMap"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.cons"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.cons'"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.copy"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.count"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []))
    )
  , ( Text
"Data.ByteString.Lazy.cycle"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.drop"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.dropWhile"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.elem"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"Data.ByteString.Lazy.elemIndex"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []]))
    )
  , ( Text
"Data.ByteString.Lazy.elemIndexEnd"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []]))
    )
  , ( Text
"Data.ByteString.Lazy.elemIndices"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []]))
    )
  , (Text
"Data.ByteString.Lazy.empty", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
  , ( Text
"Data.ByteString.Lazy.filter"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.find"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []]))
    )
  , ( Text
"Data.ByteString.Lazy.findIndex"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []]))
    )
  , ( Text
"Data.ByteString.Lazy.findIndices"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []]))
    )
  , ( Text
"Data.ByteString.Lazy.foldl"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> TypeSkeleton
TVar Text
"a")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> TypeSkeleton
TVar Text
"a")))
    )
  , ( Text
"Data.ByteString.Lazy.foldl'"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> TypeSkeleton
TVar Text
"a")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> TypeSkeleton
TVar Text
"a")))
    )
  , ( Text
"Data.ByteString.Lazy.foldl1"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []))
    )
  , ( Text
"Data.ByteString.Lazy.foldl1'"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []))
    )
  , ( Text
"Data.ByteString.Lazy.foldlChunks"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> TypeSkeleton
TVar Text
"a")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> TypeSkeleton
TVar Text
"a")))
    )
  , ( Text
"Data.ByteString.Lazy.foldr"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"a")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> TypeSkeleton
TVar Text
"a")))
    )
  , ( Text
"Data.ByteString.Lazy.foldr1"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []))
    )
  , ( Text
"Data.ByteString.Lazy.foldrChunks"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"a")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> TypeSkeleton
TVar Text
"a")))
    )
  , ( Text
"Data.ByteString.Lazy.fromChunks"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.fromStrict"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , (Text
"Data.ByteString.Lazy.getContents", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
  , ( Text
"Data.ByteString.Lazy.group"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
    )
  , ( Text
"Data.ByteString.Lazy.groupBy"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]))
    )
  , ( Text
"Data.ByteString.Lazy.hGet"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Handle" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]))
    )
  , ( Text
"Data.ByteString.Lazy.hGetContents"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Handle" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
    )
  , ( Text
"Data.ByteString.Lazy.hGetNonBlocking"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Handle" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]))
    )
  , ( Text
"Data.ByteString.Lazy.hPut"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Handle" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Unit" []]))
    )
  , ( Text
"Data.ByteString.Lazy.hPutNonBlocking"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Handle" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]))
    )
  , ( Text
"Data.ByteString.Lazy.hPutStr"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Handle" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Unit" []]))
    )
  , ( Text
"Data.ByteString.Lazy.head"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
    )
  , ( Text
"Data.ByteString.Lazy.index"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []))
    )
  , ( Text
"Data.ByteString.Lazy.init"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.inits"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
    )
  , ( Text
"Data.ByteString.Lazy.interact"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
           (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Unit" []])
    )
  , ( Text
"Data.ByteString.Lazy.intercalate"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.intersperse"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.isPrefixOf"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"Data.ByteString.Lazy.isSuffixOf"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"Data.ByteString.Lazy.iterate"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.last"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
    )
  , ( Text
"Data.ByteString.Lazy.length"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" [])
    )
  , ( Text
"Data.ByteString.Lazy.map"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.mapAccumL"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> TypeSkeleton
TVar Text
"acc")
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"acc", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []]))
      )
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> TypeSkeleton
TVar Text
"acc")
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
              (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"acc", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
        )
      )
    )
  , ( Text
"Data.ByteString.Lazy.mapAccumR"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> TypeSkeleton
TVar Text
"acc")
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"acc", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []]))
      )
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> TypeSkeleton
TVar Text
"acc")
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
              (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"acc", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
        )
      )
    )
  , ( Text
"Data.ByteString.Lazy.maximum"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
    )
  , ( Text
"Data.ByteString.Lazy.minimum"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
    )
  , ( Text
"Data.ByteString.Lazy.notElem"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"Data.ByteString.Lazy.null"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])
    )
  , ( Text
"Data.ByteString.Lazy.pack"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.partition"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
      )
    )
  , ( Text
"Data.ByteString.Lazy.putStr"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Unit" []])
    )
  , ( Text
"Data.ByteString.Lazy.putStrLn"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Unit" []])
    )
  , ( Text
"Data.ByteString.Lazy.readFile"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
    )
  , ( Text
"Data.ByteString.Lazy.repeat"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.replicate"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.reverse"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.scanl"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
            (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
      )
    )
  , ( Text
"Data.ByteString.Lazy.singleton"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.snoc"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.span"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
      )
    )
  , ( Text
"Data.ByteString.Lazy.split"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]))
    )
  , ( Text
"Data.ByteString.Lazy.splitAt"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" [])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
      )
    )
  , ( Text
"Data.ByteString.Lazy.splitWith"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]))
    )
  , ( Text
"Data.ByteString.Lazy.stripPrefix"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]))
    )
  , ( Text
"Data.ByteString.Lazy.stripSuffix"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]))
    )
  , ( Text
"Data.ByteString.Lazy.tail"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.tails"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
    )
  , ( Text
"Data.ByteString.Lazy.take"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int64" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.takeWhile"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.toChunks"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
    )
  , ( Text
"Data.ByteString.Lazy.toStrict"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
    )
  , ( Text
"Data.ByteString.Lazy.transpose"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
           (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
    )
  , ( Text
"Data.ByteString.Lazy.uncons"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []]])
    )
  , ( Text
"Data.ByteString.Lazy.unfoldr"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a")
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [], Text -> TypeSkeleton
TVar Text
"a"]])
      )
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []))
    )
  , ( Text
"Data.ByteString.Lazy.unpack"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []])
    )
  , ( Text
"Data.ByteString.Lazy.unsnoc"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []]])
    )
  , ( Text
"Data.ByteString.Lazy.unzip"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []]])
           (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []])
    )
  , ( Text
"Data.ByteString.Lazy.writeFile"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"IO" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Unit" []]))
    )
  , ( Text
"Data.ByteString.Lazy.zip"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" [], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []]])
      )
    )
  , ( Text
"Data.ByteString.Lazy.zipWith"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Word8" []) (Text -> TypeSkeleton
TVar Text
"a")))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" [])
            (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"ByteString" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
      )
    )
  , (Text
"Data.Either.Left" , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]))
  , (Text
"Data.Either.Right", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]))
  , ( Text
"Data.Either.either"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"c"))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> TypeSkeleton
TVar Text
"c"))
            (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]) (Text -> TypeSkeleton
TVar Text
"c"))
      )
    )
  , ( Text
"Data.Either.fromLeft"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , ( Text
"Data.Either.fromRight"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]) (Text -> TypeSkeleton
TVar Text
"b"))
    )
  , ( Text
"Data.Either.isLeft"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])
    )
  , ( Text
"Data.Either.isRight"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])
    )
  , ( Text
"Data.Either.lefts"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]])
           (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
    )
  , ( Text
"Data.Either.partitionEithers"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]])
           (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]])
    )
  , ( Text
"Data.Either.rights"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Either" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]])
           (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"])
    )
  , ( Text
"Data.List.group"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]]))
    )
  , (Text
"Data.Maybe.Just"   , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"a"]))
  , (Text
"Data.Maybe.Nothing", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"a"])
  , ( Text
"Data.Maybe.catMaybes"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"a"]]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
    )
  , (Text
"Data.Maybe.fromJust", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
  , ( Text
"Data.Maybe.fromMaybe"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , (Text
"Data.Maybe.isJust"   , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
  , (Text
"Data.Maybe.isNothing", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
  , ( Text
"Data.Maybe.listToMaybe"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"a"])
    )
  , ( Text
"Data.Maybe.mapMaybe"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"b"]))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]))
    )
  , ( Text
"Data.Maybe.maybe"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> TypeSkeleton
TVar Text
"b")
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"b"))
            (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"b"))
      )
    )
  , ( Text
"Data.Maybe.maybeToList"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
    )
  , ( Text
"Data.Tuple.curry"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]) (Text -> TypeSkeleton
TVar Text
"c"))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> TypeSkeleton
TVar Text
"c")))
    )
  , (Text
"Data.Tuple.fst", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]) (Text -> TypeSkeleton
TVar Text
"a"))
  , (Text
"Data.Tuple.snd", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]) (Text -> TypeSkeleton
TVar Text
"b"))
  , ( Text
"Data.Tuple.swap"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"])
           (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"b", Text -> TypeSkeleton
TVar Text
"a"])
    )
  , ( Text
"Data.Tuple.uncurry"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> TypeSkeleton
TVar Text
"c")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]) (Text -> TypeSkeleton
TVar Text
"c"))
    )
  , (Text
"GHC.Char.chr", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []))
  , ( Text
"GHC.Char.eqChar"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"GHC.Char.neChar"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"GHC.List.all"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , (Text
"GHC.List.and", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
  , ( Text
"GHC.List.any"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
    )
  , ( Text
"GHC.List.break"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]])
      )
    )
  , ( Text
"GHC.List.concat"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
    )
  , ( Text
"GHC.List.concatMap"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]))
    )
  , (Text
"GHC.List.cycle", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
  , ( Text
"GHC.List.drop"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , ( Text
"GHC.List.dropWhile"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , ( Text
"GHC.List.elem"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])))
    )
  , ( Text
"GHC.List.filter"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , ( Text
"GHC.List.foldl"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"b")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"b")))
    )
  , ( Text
"GHC.List.foldl'"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"b")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"b")))
    )
  , ( Text
"GHC.List.foldl1"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"a")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , ( Text
"GHC.List.foldl1'"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"a")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , ( Text
"GHC.List.foldr"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> TypeSkeleton
TVar Text
"b")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"b")))
    )
  , ( Text
"GHC.List.foldr1"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"a")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , (Text
"GHC.List.head", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
  , (Text
"GHC.List.init", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
  , ( Text
"GHC.List.iterate"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"a"))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , ( Text
"GHC.List.iterate'"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"a"))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , (Text
"GHC.List.last"  , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
  , (Text
"GHC.List.length", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []))
  , ( Text
"GHC.List.lookup"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> TypeSkeleton
TVar Text
"a")
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]])
              (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> TypeSkeleton
TVar Text
"b"])
        )
      )
    )
  , ( Text
"GHC.List.map"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"b"))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]))
    )
  , ( Text
"GHC.List.maximum"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> TypeSkeleton
TVar Text
"a"])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , ( Text
"GHC.List.minimum"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> TypeSkeleton
TVar Text
"a"])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , ( Text
"GHC.List.notElem"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Eq" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])))
    )
  , (Text
"GHC.List.null", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
  , (Text
"GHC.List.or"  , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
  , ( Text
"GHC.List.product"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Num" [Text -> TypeSkeleton
TVar Text
"a"])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , (Text
"GHC.List.repeat", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
  , ( Text
"GHC.List.replicate"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" []) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , ( Text
"GHC.List.reverse"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
    )
  , ( Text
"GHC.List.scanl"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"b")))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b")
            (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]))
      )
    )
  , ( Text
"GHC.List.scanl'"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"b")))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b")
            (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]))
      )
    )
  , ( Text
"GHC.List.scanl1"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"a")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , ( Text
"GHC.List.scanr"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> TypeSkeleton
TVar Text
"b")))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b")
            (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]))
      )
    )
  , ( Text
"GHC.List.scanr1"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"a")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , ( Text
"GHC.List.span"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]])
      )
    )
  , ( Text
"GHC.List.splitAt"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" [])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]])
      )
    )
  , ( Text
"GHC.List.sum"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Num" [Text -> TypeSkeleton
TVar Text
"a"])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , (Text
"GHC.List.tail", TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
  , ( Text
"GHC.List.take"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" [])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , ( Text
"GHC.List.takeWhile"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" []))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , ( Text
"GHC.List.uncons"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
           (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Maybe" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]]])
    )
  , ( Text
"GHC.List.unzip"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]])
           (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]])
    )
  , ( Text
"GHC.List.unzip3"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"], Text -> TypeSkeleton
TVar Text
"c"]]
      )
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons
        Text
"Pair"
        [ Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"], Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]]
        , Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"c"]
        ]
      )
    )
  , ( Text
"GHC.List.zip"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"])
            (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]])
      )
    )
  , ( Text
"GHC.List.zip3"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"])
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
          (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"c"])
          (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List"
                 [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"], Text -> TypeSkeleton
TVar Text
"c"]]
          )
        )
      )
    )
  , ( Text
"GHC.List.zipWith"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> TypeSkeleton
TVar Text
"c")))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
            (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"c"]))
      )
    )
  , ( Text
"GHC.List.zipWith3"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"c") (Text -> TypeSkeleton
TVar Text
"d"))))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"b"])
              (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"c"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"d"]))
        )
      )
    )
  , (Text
"Nil", Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
  , ( Text
"Pair"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Pair" [Text -> TypeSkeleton
TVar Text
"a", Text -> TypeSkeleton
TVar Text
"b"]))
    )
  , ( Text
"Text.Show.show"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> TypeSkeleton
TVar Text
"a"])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]))
    )
  , ( Text
"Text.Show.showChar"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" [])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]))
    )
  , ( Text
"Text.Show.showList"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]))
      )
    )
  , ( Text
"Text.Show.showListWith"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> TypeSkeleton
TVar Text
"a")
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]))
      )
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"])
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]))
      )
    )
  , ( Text
"Text.Show.showParen"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]))
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]))
      )
    )
  , ( Text
"Text.Show.showString"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]))
    )
  , ( Text
"Text.Show.shows"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> TypeSkeleton
TVar Text
"a")
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []]))
      )
    )
  , ( Text
"Text.Show.showsPrec"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Show" [Text -> TypeSkeleton
TVar Text
"a"])
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
        (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Int" [])
        (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
          (Text -> TypeSkeleton
TVar Text
"a")
          (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []])
                (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Char" []])
          )
        )
      )
    )
  ]

augumentedComponents :: [(Text, TypeSkeleton)]
augumentedComponents :: [(Text, TypeSkeleton)]
augumentedComponents =
  [ 
    ( Text
"(Data.Function..)"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> TypeSkeleton
TVar Text
"c"))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"b")) (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"c")))
    )
  , ( Text
"Data.Function.on"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> TypeSkeleton
TVar Text
"c")))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"b"))
            (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"c")))
      )
    )
  , ( Text
"Data.Function.flip"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (Text -> TypeSkeleton
TVar Text
"c")))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"b") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> TypeSkeleton
TVar Text
"c")))
    )
  , ( Text
"Data.List.groupBy"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Bool" [])))
      (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]]))
    )
  , ( Text
"Data.List.sortBy"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Ordering" [])))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]))
    )
  , ( Text
"Data.List.maximumBy"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Ordering" [])))
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"List" [Text -> TypeSkeleton
TVar Text
"a"]) (Text -> TypeSkeleton
TVar Text
"a"))
    )
  , ( Text
"Data.Ord.compare"
    , TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"@@hplusTC@@Ord" [Text -> TypeSkeleton
TVar Text
"a"])
           (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (TypeSkeleton -> TypeSkeleton -> TypeSkeleton
TFun (Text -> TypeSkeleton
TVar Text
"a") (Text -> [TypeSkeleton] -> TypeSkeleton
TCons Text
"Ordering" [])))
    )
  ]

hoogleComponents :: Map TypeSkeleton Text
hoogleComponents :: Map TypeSkeleton Text
hoogleComponents = (Map TypeSkeleton Text, Map Text Text) -> Map TypeSkeleton Text
forall a b. (a, b) -> a
fst ([(Text, TypeSkeleton)] -> (Map TypeSkeleton Text, Map Text Text)
mkGroups [(Text, TypeSkeleton)]
hooglePlusComponents)

groupMapping :: Map Text Text
groupMapping :: Map Text Text
groupMapping = (Map TypeSkeleton Text, Map Text Text) -> Map Text Text
forall a b. (a, b) -> b
snd ([(Text, TypeSkeleton)] -> (Map TypeSkeleton Text, Map Text Text)
mkGroups [(Text, TypeSkeleton)]
hooglePlusComponents)

-- switch to this when you run experiments on stackoverflow benchmarks
-- hoogleComponents :: Map TypeSkeleton Text
-- hoogleComponents = fst (mkGroups $ hooglePlusComponents ++ augumentedComponents)

-- groupMapping :: Map Text Text
-- groupMapping = snd (mkGroups $ hooglePlusComponents ++ augumentedComponents)