{"efVersion":"0.10.5","efModuleName":["Data","Functor","Product"],"efExports":[{"TypeRef":["Product",["Product"]]},{"ValueRef":{"Ident":"bihoistProduct"}},{"ValueRef":{"Ident":"product"}},{"TypeInstanceRef":{"Ident":"newtypeProduct"}},{"TypeInstanceRef":{"Ident":"eqProduct"}},{"TypeInstanceRef":{"Ident":"ordProduct"}},{"TypeInstanceRef":{"Ident":"showProduct"}},{"TypeInstanceRef":{"Ident":"functorProduct"}},{"TypeInstanceRef":{"Ident":"foldableProduct"}},{"TypeInstanceRef":{"Ident":"traversableProduct"}},{"TypeInstanceRef":{"Ident":"applyProduct"}},{"TypeInstanceRef":{"Ident":"applicativeProduct"}},{"TypeInstanceRef":{"Ident":"bindProduct"}},{"TypeInstanceRef":{"Ident":"monadProduct"}}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Control","Apply"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[5,23],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[5,28]},[],{"ValueRef":{"Ident":"lift2"}}]}]},"eiImportedAs":null},{"eiModule":["Data","Bifunctor"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[7,24],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[7,29]},[],{"ValueRef":{"Ident":"bimap"}}]}]},"eiImportedAs":null},{"eiModule":["Data","Foldable"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[8,23],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[8,37]},[],{"TypeClassRef":"Foldable"}]},{"PositionedDeclarationRef":[{"start":[8,39],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[8,44]},[],{"ValueRef":{"Ident":"foldr"}}]},{"PositionedDeclarationRef":[{"start":[8,46],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[8,51]},[],{"ValueRef":{"Ident":"foldl"}}]},{"PositionedDeclarationRef":[{"start":[8,53],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[8,60]},[],{"ValueRef":{"Ident":"foldMap"}}]}]},"eiImportedAs":null},{"eiModule":["Data","Newtype"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[9,22],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[9,35]},[],{"TypeClassRef":"Newtype"}]},{"PositionedDeclarationRef":[{"start":[9,37],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[9,43]},[],{"ValueRef":{"Ident":"unwrap"}}]}]},"eiImportedAs":null},{"eiModule":["Data","Traversable"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[10,26],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[10,43]},[],{"TypeClassRef":"Traversable"}]},{"PositionedDeclarationRef":[{"start":[10,45],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[10,53]},[],{"ValueRef":{"Ident":"traverse"}}]},{"PositionedDeclarationRef":[{"start":[10,55],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[10,63]},[],{"ValueRef":{"Ident":"sequence"}}]}]},"eiImportedAs":null},{"eiModule":["Data","Tuple"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[11,20],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[11,29]},[],{"TypeRef":["Tuple",null]}]},{"PositionedDeclarationRef":[{"start":[11,31],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[11,34]},[],{"ValueRef":{"Ident":"fst"}}]},{"PositionedDeclarationRef":[{"start":[11,36],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-functors/src/Data/Functor/Product.purs","end":[11,39]},[],{"ValueRef":{"Ident":"snd"}}]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Product","edTypeKind":{"tag":"FunKind","contents":[{"tag":"FunKind","contents":[{"tag":"NamedKind","contents":[["Prim"],"Type"]},{"tag":"NamedKind","contents":[["Prim"],"Type"]}]},{"tag":"FunKind","contents":[{"tag":"FunKind","contents":[{"tag":"NamedKind","contents":[["Prim"],"Type"]},{"tag":"NamedKind","contents":[["Prim"],"Type"]}]},{"tag":"FunKind","contents":[{"tag":"NamedKind","contents":[["Prim"],"Type"]},{"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]}]},"edTypeDeclarationKind":{"DataType":[[["f",{"tag":"FunKind","contents":[{"tag":"NamedKind","contents":[["Prim"],"Type"]},{"tag":"NamedKind","contents":[["Prim"],"Type"]}]}],["g",{"tag":"FunKind","contents":[{"tag":"NamedKind","contents":[["Prim"],"Type"]},{"tag":"NamedKind","contents":[["Prim"],"Type"]}]}],["a",{"tag":"NamedKind","contents":[["Prim"],"Type"]}]],[["Product",[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Tuple"],"Tuple"]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"g"},{"tag":"TypeVar","contents":"a"}]}]}]]]]}}},{"EDDataConstructor":{"edDataCtorName":"Product","edDataCtorOrigin":"newtype","edDataCtorTypeCtor":"Product","edDataCtorType":{"tag":"ForAll","contents":["a",{"tag":"ForAll","contents":["g",{"tag":"ForAll","contents":["f",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Tuple"],"Tuple"]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"g"},{"tag":"TypeVar","contents":"a"}]}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}]},null]},null]},null]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDValue":{"edValueName":{"Ident":"bihoistProduct"},"edValueType":{"tag":"ForAll","contents":["i",{"tag":"ForAll","contents":["h",{"tag":"ForAll","contents":["g",{"tag":"ForAll","contents":["f",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"ForAll","contents":["a",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"h"},{"tag":"TypeVar","contents":"a"}]}]},106]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"ForAll","contents":["a",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"g"},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"i"},{"tag":"TypeVar","contents":"a"}]}]},107]}]},{"tag":"ForAll","contents":["a",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"h"}]},{"tag":"TypeVar","contents":"i"}]},{"tag":"TypeVar","contents":"a"}]}]},108]}]}]},109]},110]},111]},112]}}},{"EDValue":{"edValueName":{"Ident":"product"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ForAll","contents":["g",{"tag":"ForAll","contents":["f",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"g"},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}]}]},6]},7]},8]}}},{"EDInstance":{"edInstanceClassName":[["Data","Newtype"],"Newtype"],"edInstanceName":{"Ident":"newtypeProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Tuple"],"Tuple"]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"g"},{"tag":"TypeVar","contents":"a"}]}]}],"edInstanceConstraints":[]}},{"EDInstance":{"edInstanceClassName":[["Data","Eq"],"Eq"],"edInstanceName":{"Ident":"eqProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}],"edInstanceConstraints":[{"constraintClass":[["Data","Eq"],"Eq"],"constraintArgs":[{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeVar","contents":"a"}]}],"constraintData":null},{"constraintClass":[["Data","Eq"],"Eq"],"constraintArgs":[{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"g"},{"tag":"TypeVar","contents":"a"}]}],"constraintData":null}]}},{"EDInstance":{"edInstanceClassName":[["Data","Ord"],"Ord"],"edInstanceName":{"Ident":"ordProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}],"edInstanceConstraints":[{"constraintClass":[["Data","Ord"],"Ord"],"constraintArgs":[{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeVar","contents":"a"}]}],"constraintData":null},{"constraintClass":[["Data","Ord"],"Ord"],"constraintArgs":[{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"g"},{"tag":"TypeVar","contents":"a"}]}],"constraintData":null}]}},{"EDInstance":{"edInstanceClassName":[["Data","Show"],"Show"],"edInstanceName":{"Ident":"showProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}],"edInstanceConstraints":[{"constraintClass":[["Data","Show"],"Show"],"constraintArgs":[{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeVar","contents":"a"}]}],"constraintData":null},{"constraintClass":[["Data","Show"],"Show"],"constraintArgs":[{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"g"},{"tag":"TypeVar","contents":"a"}]}],"constraintData":null}]}},{"EDInstance":{"edInstanceClassName":[["Data","Functor"],"Functor"],"edInstanceName":{"Ident":"functorProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]}],"edInstanceConstraints":[{"constraintClass":[["Data","Functor"],"Functor"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null},{"constraintClass":[["Data","Functor"],"Functor"],"constraintArgs":[{"tag":"TypeVar","contents":"g"}],"constraintData":null}]}},{"EDInstance":{"edInstanceClassName":[["Data","Foldable"],"Foldable"],"edInstanceName":{"Ident":"foldableProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]}],"edInstanceConstraints":[{"constraintClass":[["Data","Foldable"],"Foldable"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null},{"constraintClass":[["Data","Foldable"],"Foldable"],"constraintArgs":[{"tag":"TypeVar","contents":"g"}],"constraintData":null}]}},{"EDInstance":{"edInstanceClassName":[["Data","Traversable"],"Traversable"],"edInstanceName":{"Ident":"traversableProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]}],"edInstanceConstraints":[{"constraintClass":[["Data","Traversable"],"Traversable"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null},{"constraintClass":[["Data","Traversable"],"Traversable"],"constraintArgs":[{"tag":"TypeVar","contents":"g"}],"constraintData":null}]}},{"EDInstance":{"edInstanceClassName":[["Control","Apply"],"Apply"],"edInstanceName":{"Ident":"applyProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]}],"edInstanceConstraints":[{"constraintClass":[["Control","Apply"],"Apply"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null},{"constraintClass":[["Control","Apply"],"Apply"],"constraintArgs":[{"tag":"TypeVar","contents":"g"}],"constraintData":null}]}},{"EDInstance":{"edInstanceClassName":[["Control","Applicative"],"Applicative"],"edInstanceName":{"Ident":"applicativeProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]}],"edInstanceConstraints":[{"constraintClass":[["Control","Applicative"],"Applicative"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null},{"constraintClass":[["Control","Applicative"],"Applicative"],"constraintArgs":[{"tag":"TypeVar","contents":"g"}],"constraintData":null}]}},{"EDInstance":{"edInstanceClassName":[["Control","Bind"],"Bind"],"edInstanceName":{"Ident":"bindProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]}],"edInstanceConstraints":[{"constraintClass":[["Control","Bind"],"Bind"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null},{"constraintClass":[["Control","Bind"],"Bind"],"constraintArgs":[{"tag":"TypeVar","contents":"g"}],"constraintData":null}]}},{"EDInstance":{"edInstanceClassName":[["Control","Monad"],"Monad"],"edInstanceName":{"Ident":"monadProduct"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Functor","Product"],"Product"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"g"}]}],"edInstanceConstraints":[{"constraintClass":[["Control","Monad"],"Monad"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null},{"constraintClass":[["Control","Monad"],"Monad"],"constraintArgs":[{"tag":"TypeVar","contents":"g"}],"constraintData":null}]}}]}