main :: Bool main = True ------------ desugared source code f = _lhs f \(a :: _) (b :: _) -> _rhs let c = _lhs g \(d :: _) -> case'Bool (\(_ :: _) -> _) (_rhs b) (_rhs True) d in c a main = _lhs main (_rhs (f True False && f False True)) ------------ core code f :: Bool -> Bool -> Bool f = \a b -> _rhs (g a) main :: Bool main = _rhs True ------------ tooltips 3:1-3:2 Bool -> Bool -> Bool 3:9-3:10 Bool -> Bool 3:9-3:12 Bool 3:11-3:12 _d 5:14-5:18 Bool 5:14-6:16 Bool -> Bool 6:15-6:16 _e 8:1-8:5 Bool 8:8-8:9 Bool -> Bool -> Bool 8:8-8:14 Bool -> Bool 8:8-8:20 Bool 8:8-8:23 Bool -> Bool 8:8-8:36 Bool 8:10-8:14 Bool 8:15-8:20 Bool 8:21-8:23 Bool -> Bool -> Bool 8:24-8:25 Bool -> Bool -> Bool 8:24-8:31 Bool -> Bool 8:24-8:36 Bool 8:26-8:31 Bool 8:32-8:36 Bool