try ` <*> + <*> | + <*> | | + <*> | | | + pure ((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) ((flip (\x0 -> (\x1 -> x0 x1))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) ((flip (\x0 -> (\x1 -> x0 x1))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) ((flip (\x0 -> (\x1 -> x0 x1))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) ((flip (\x0 -> (\x1 -> x0 x1))) Pure)) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) cons) ((\x0 -> (\x1 -> x0)) 'd'))))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) (\x0 -> (\x1 -> (\x2 -> x0 (x1 x2))))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) cons) ((\x0 -> (\x1 -> x0)) 'c')))))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) (\x0 -> (\x1 -> (\x2 -> x0 (x1 x2))))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) (\x0 -> (\x1 -> (\x2 -> x0 (x1 x2))))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) cons) ((\x0 -> (\x1 -> x0)) 'b'))))))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) (\x0 -> (\x1 -> (\x2 -> x0 (x1 x2))))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) (\x0 -> (\x1 -> (\x2 -> x0 (x1 x2))))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) (\x0 -> (\x1 -> (\x2 -> x0 (x1 x2))))) (((\x0 -> (\x1 -> (\x2 -> x0 (x1 x2)))) cons) ((\x0 -> (\x1 -> x0)) 'a'))))) | | | ` satisfy | | ` satisfy | ` satisfy ` satisfy