{"efVersion":"0.10.5","efModuleName":["Control","Monad","Free"],"efExports":[{"TypeRef":["Free",[]]},{"ValueRef":{"Ident":"foldFree"}},{"ValueRef":{"Ident":"hoistFree"}},{"ValueRef":{"Ident":"injF"}},{"ValueRef":{"Ident":"liftF"}},{"ValueRef":{"Ident":"liftFI"}},{"ValueRef":{"Ident":"resume"}},{"ValueRef":{"Ident":"runFree"}},{"ValueRef":{"Ident":"runFreeM"}},{"ValueRef":{"Ident":"substFree"}},{"ValueRef":{"Ident":"suspendF"}},{"TypeInstanceRef":{"Ident":"freeFunctor"}},{"TypeInstanceRef":{"Ident":"freeBind"}},{"TypeInstanceRef":{"Ident":"freeApplicative"}},{"TypeInstanceRef":{"Ident":"freeApply"}},{"TypeInstanceRef":{"Ident":"freeMonad"}},{"TypeInstanceRef":{"Ident":"freeMonadTrans"}},{"TypeInstanceRef":{"Ident":"freeMonadRec"}}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Control","Monad","Rec","Class"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[17,33],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[17,47]},[],{"TypeClassRef":"MonadRec"}]},{"PositionedDeclarationRef":[{"start":[17,49],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[17,57]},[],{"TypeRef":["Step",null]}]},{"PositionedDeclarationRef":[{"start":[17,59],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[17,67]},[],{"ValueRef":{"Ident":"tailRecM"}}]}]},"eiImportedAs":null},{"eiModule":["Control","Monad","Trans","Class"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[18,35],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[18,51]},[],{"TypeClassRef":"MonadTrans"}]}]},"eiImportedAs":null},{"eiModule":["Data","CatList"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[20,22],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[20,29]},[],{"TypeRef":["CatList",[]]}]},{"PositionedDeclarationRef":[{"start":[20,31],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[20,36]},[],{"ValueRef":{"Ident":"empty"}}]},{"PositionedDeclarationRef":[{"start":[20,38],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[20,42]},[],{"ValueRef":{"Ident":"snoc"}}]},{"PositionedDeclarationRef":[{"start":[20,44],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[20,50]},[],{"ValueRef":{"Ident":"uncons"}}]}]},"eiImportedAs":null},{"eiModule":["Data","Either"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[21,21],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[21,31]},[],{"TypeRef":["Either",null]}]}]},"eiImportedAs":null},{"eiModule":["Data","Inject"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[22,21],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[22,33]},[],{"TypeClassRef":"Inject"}]},{"PositionedDeclarationRef":[{"start":[22,35],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[22,38]},[],{"ValueRef":{"Ident":"inj"}}]}]},"eiImportedAs":null},{"eiModule":["Data","Maybe"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[23,20],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[23,29]},[],{"TypeRef":["Maybe",null]}]}]},"eiImportedAs":null},{"eiModule":["Data","Tuple"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[24,20],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[24,29]},[],{"TypeRef":["Tuple",null]}]}]},"eiImportedAs":null},{"eiModule":["Unsafe","Coerce"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[26,23],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-free/src/Control/Monad/Free.purs","end":[26,35]},[],{"ValueRef":{"Ident":"unsafeCoerce"}}]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Free","edTypeKind":{"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"]}]}],["a",{"tag":"NamedKind","contents":[["Prim"],"Type"]}]],[["Free",[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"FreeView"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Val"]}]},{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Val"]}]},{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","CatList"],"CatList"]},{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"ExpF"]},{"tag":"TypeVar","contents":"f"}]}]}]]]]}}},{"EDValue":{"edValueName":{"Ident":"foldFree"},"edValueType":{"tag":"ForAll","contents":["m",{"tag":"ForAll","contents":["f",{"tag":"ConstrainedType","contents":[[{"constraintClass":[["Control","Monad","Rec","Class"],"MonadRec"],"constraintArgs":[{"tag":"TypeVar","contents":"m"}],"constraintData":null}],{"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":"m"},{"tag":"TypeVar","contents":"a"}]}]},165]}]},{"tag":"ForAll","contents":["a",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"m"},{"tag":"TypeVar","contents":"a"}]}]},166]}]}]},167]},168]}}},{"EDValue":{"edValueName":{"Ident":"hoistFree"},"edValueType":{"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":"g"},{"tag":"TypeVar","contents":"a"}]}]},57]}]},{"tag":"ForAll","contents":["a",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}]},58]}]},59]},60]}}},{"EDValue":{"edValueName":{"Ident":"injF"},"edValueType":{"tag":"ForAll","contents":["g",{"tag":"ForAll","contents":["f",{"tag":"ConstrainedType","contents":[[{"constraintClass":[["Data","Inject"],"Inject"],"constraintArgs":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeVar","contents":"g"}],"constraintData":null}],{"tag":"ForAll","contents":["a",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}]},65]}]},66]},67]}}},{"EDValue":{"edValueName":{"Ident":"liftF"},"edValueType":{"tag":"ForAll","contents":["f",{"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":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]},45]},46]}}},{"EDValue":{"edValueName":{"Ident":"liftFI"},"edValueType":{"tag":"ForAll","contents":["g",{"tag":"ForAll","contents":["f",{"tag":"ConstrainedType","contents":[[{"constraintClass":[["Data","Inject"],"Inject"],"constraintArgs":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeVar","contents":"g"}],"constraintData":null}],{"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":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}]},72]}]},73]},74]}}},{"EDValue":{"edValueName":{"Ident":"resume"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ForAll","contents":["f",{"tag":"ConstrainedType","contents":[[{"constraintClass":[["Data","Functor"],"Functor"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null}],{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","Either"],"Either"]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]}]},{"tag":"TypeVar","contents":"a"}]}]}]},35]},36]}}},{"EDValue":{"edValueName":{"Ident":"runFree"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ForAll","contents":["f",{"tag":"ConstrainedType","contents":[[{"constraintClass":[["Data","Functor"],"Functor"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null}],{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeVar","contents":"a"}]}]}]},31]},32]}}},{"EDValue":{"edValueName":{"Ident":"runFreeM"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ForAll","contents":["m",{"tag":"ForAll","contents":["f",{"tag":"ConstrainedType","contents":[[{"constraintClass":[["Data","Functor"],"Functor"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null},{"constraintClass":[["Control","Monad","Rec","Class"],"MonadRec"],"constraintArgs":[{"tag":"TypeVar","contents":"m"}],"constraintData":null}],{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"f"},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"m"},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeVar","contents":"m"},{"tag":"TypeVar","contents":"a"}]}]}]}]},21]},22]},23]}}},{"EDValue":{"edValueName":{"Ident":"substFree"},"edValueType":{"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":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}]},10]}]},{"tag":"ForAll","contents":["a",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"g"}]},{"tag":"TypeVar","contents":"a"}]}]},11]}]},12]},13]}}},{"EDValue":{"edValueName":{"Ident":"suspendF"},"edValueType":{"tag":"ForAll","contents":["f",{"tag":"ConstrainedType","contents":[[{"constraintClass":[["Control","Applicative"],"Applicative"],"constraintArgs":[{"tag":"TypeVar","contents":"f"}],"constraintData":null}],{"tag":"ForAll","contents":["a",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]},{"tag":"TypeVar","contents":"a"}]}]},78]}]},79]}}},{"EDInstance":{"edInstanceClassName":[["Data","Functor"],"Functor"],"edInstanceName":{"Ident":"freeFunctor"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]}],"edInstanceConstraints":[]}},{"EDInstance":{"edInstanceClassName":[["Control","Bind"],"Bind"],"edInstanceName":{"Ident":"freeBind"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]}],"edInstanceConstraints":[]}},{"EDInstance":{"edInstanceClassName":[["Control","Applicative"],"Applicative"],"edInstanceName":{"Ident":"freeApplicative"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]}],"edInstanceConstraints":[]}},{"EDInstance":{"edInstanceClassName":[["Control","Apply"],"Apply"],"edInstanceName":{"Ident":"freeApply"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]}],"edInstanceConstraints":[]}},{"EDInstance":{"edInstanceClassName":[["Control","Monad"],"Monad"],"edInstanceName":{"Ident":"freeMonad"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]}],"edInstanceConstraints":[]}},{"EDInstance":{"edInstanceClassName":[["Control","Monad","Trans","Class"],"MonadTrans"],"edInstanceName":{"Ident":"freeMonadTrans"},"edInstanceTypes":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]}],"edInstanceConstraints":[]}},{"EDInstance":{"edInstanceClassName":[["Control","Monad","Rec","Class"],"MonadRec"],"edInstanceName":{"Ident":"freeMonadRec"},"edInstanceTypes":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Control","Monad","Free"],"Free"]},{"tag":"TypeVar","contents":"f"}]}],"edInstanceConstraints":[]}}]}