{-# LANGUAGE PatternGuards #-} 
test = case x of _ | y <- z -> w