{"body":"wand :: [Constraint] -> [Goal] -> State Int [Constraint]\nwand c [] = pure c\nwand cs ((Goal ctx expr ty) : gs) = do\n    n <- get\n    modify (+1) -- Instead of here...\n    let (cs', gs') = case expr of\n            Tru -> ([IsEq ty Bool], [])\n            Fal -> ([IsEq ty Bool], [])\n            (Lam x m) -> do\n                -- ...I want to do it here.\n                let nytvar = TyVar(\"t\" ++ show n)\n                let x = ([IsEq nytvar Bool], [])\n                x\n    wand (cs' ++ cs) (gs' ++ gs)\n\n","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/8ne3txlx","modified":1702067285,"id":"8ne3txlx","size":503,"lines":15,"own_paste":false,"theme":"","date":1702067285}