How can two continuations cancel each other out?
A function f :: a -> b can be “disguised” inside double continuations as a function f’ :: ((a -> r1) -> r2) -> ((b -> r1) -> r2). obfuscate :: (a -> b) -> ((a -> r1) -> r2) -> (b -> r1) -> r2 obfuscate f k2 k1 = k2 (k1 . f) … Read more