{"body":"memo' :: forall t a. Grouping t => (t -> a) -> IO (t -> IO a)\nmemo' t2a = do\n  f <- getGroup (grouping @t) \\(t, ref1) -> \n     let a = t2a t\n     writeIORef ref1 a\n     pure \\(_, ref2) -> writeIORef ref2 a\n  pure \\t -> do\n    ref <- newIORef undefined\n    f t (t, ref)\n    readIORef ref","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/Dio1MtKJ","modified":1641347930,"id":"Dio1MtKJ","size":286,"lines":10,"own_paste":false,"theme":"","date":1641347930}