Module "RandomExternal" (Just (Exporting (6,23) [(Export (QualIdent Nothing (Ident "split" 0))),(Export (QualIdent Nothing (Ident "nextInt" 0))),(Export (QualIdent Nothing (Ident "nextIntRange" 0))),(Export (QualIdent Nothing (Ident "nextBoolean" 0))),(Export (QualIdent Nothing (Ident "getRandomSeed" 0)))])) [(ImportDecl (1,1) "Prelude" False Nothing Nothing) ,(TypeSig (16,1) [(Ident "split" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])))) ,(FunctionDecl (17,1) (Ident "split" 0) [(Equation (17,1) (FunLhs (Ident "split" 0) [(VariablePattern (Ident "seed" 2))]) (SimpleRhs (17,14) (InfixApply (Variable (QualIdent Nothing (Ident "s1" 3))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "RandomExternal") (Ident "split" 0))) (Variable (QualIdent Nothing (Ident "s2" 3))))) [(PatternDecl (18,8) (TuplePattern [(VariablePattern (Ident "s1" 3)),(VariablePattern (Ident "s2" 3))]) (SimpleRhs (18,18) (InfixApply (Variable (QualIdent (Just "RandomExternal") (Ident "prim_split" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$##" 0))) (Variable (QualIdent Nothing (Ident "seed" 2)))) []))]))]) ,(TypeSig (20,1) [(Ident "prim_split" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (TupleType [(ConstructorType (QualIdent Nothing (Ident "Int" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])]))) ,(FlatExternalDecl (21,1) [(Ident "prim_split" 0)]) ,(TypeSig (25,1) [(Ident "nextInt" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])))) ,(FunctionDecl (26,1) (Ident "nextInt" 0) [(Equation (26,1) (FunLhs (Ident "nextInt" 0) [(VariablePattern (Ident "seed" 5))]) (SimpleRhs (26,16) (InfixApply (Variable (QualIdent (Just "RandomExternal") (Ident "prim_nextInt" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$##" 0))) (Variable (QualIdent Nothing (Ident "seed" 5)))) []))]) ,(TypeSig (28,1) [(Ident "prim_nextInt" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])))) ,(FlatExternalDecl (29,1) [(Ident "prim_nextInt" 0)]) ,(TypeSig (34,1) [(Ident "nextIntRange" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))))) ,(FunctionDecl (35,1) (Ident "nextIntRange" 0) [(Equation (35,1) (FunLhs (Ident "nextIntRange" 0) [(VariablePattern (Ident "seed" 7)),(VariablePattern (Ident "bound" 7))]) (SimpleRhs (35,27) (InfixApply (Paren (InfixApply (Variable (QualIdent (Just "RandomExternal") (Ident "prim_nextIntRange" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "$##" 0))) (Variable (QualIdent Nothing (Ident "seed" 7))))) (InfixOp (QualIdent (Just "Prelude") (Ident "$##" 0))) (Variable (QualIdent Nothing (Ident "bound" 7)))) []))]) ,(TypeSig (37,1) [(Ident "prim_nextIntRange" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))))) ,(FlatExternalDecl (38,1) [(Ident "prim_nextIntRange" 0)]) ,(TypeSig (42,1) [(Ident "nextBoolean" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) [])))) ,(FunctionDecl (43,1) (Ident "nextBoolean" 0) [(Equation (43,1) (FunLhs (Ident "nextBoolean" 0) [(VariablePattern (Ident "seed" 9))]) (SimpleRhs (43,20) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (LeftSection (Literal (Int (Ident "_" 11) 0)) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))))) (Paren (Apply (Apply (Variable (QualIdent (Just "RandomExternal") (Ident "nextIntRange" 0))) (Variable (QualIdent Nothing (Ident "seed" 9)))) (Literal (Int (Ident "_" 12) 1))))) []))]) ,(TypeSig (47,1) [(Ident "getRandomSeed" 0)] (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])])) ,(FlatExternalDecl (48,1) [(Ident "getRandomSeed" 0)]) ]