遅延パターン

こういうのはだめか

*Main> let f ~st@(x:xs) = st
*Main> f []
*** Exception: :1:4-20: Irrefutable pattern failed for pattern (st@(x : xs))

横着するなということか。