f x | a = b | a = b | a = b f x | a = b > | a = b > | a = b f x | a = b > | a = b > > | a = b f x -- branch | a = b > -- branch | a = b > > -- branch | a = b a = do let x = y z = 10 3 a = do let x = y > > z = 10 3 f x = 3 -- test f x = 3