Prelude> let f (x:xs) = (x:xs)
==================== Simplified expression ====================
GHC.Base.returnIO
@ [()]
(GHC.Types.:
@ ()
((\ (@ a_a131) (ds_d13a :: [a_a131]) ->
case ds_d13a of _ [Occ=Dead] {
[] ->
Control.Exception.Base.patError
@ 'GHC.Types.PtrRepLifted
@ [a_a131]
"<interactive>:4:5-21|function f"#;
: x_a12Q xs_a12R -> GHC.Types.: @ a_a131 x_a12Q xs_a12R
})
`cast` (UnsafeCo representational
(forall a_a131. [a_a131] -> [a_a131]) ()
:: ((forall a_a131. [a_a131] -> [a_a131]) :: *) ~R# (() :: *)))
(GHC.Types.[] @ ()))
Prelude> let f a@(x:xs) = a
==================== Simplified expression ====================
GHC.Base.returnIO
@ [()]
(GHC.Types.:
@ ()
((\ (@ t_a13D) (a_a13s :: [t_a13D]) ->
case a_a13s of wild_X3 {
[] ->
Control.Exception.Base.patError
@ 'GHC.Types.PtrRepLifted
@ [t_a13D]
"<interactive>:5:5-18|function f"#;
: x_a13t xs_a13u -> wild_X3
})
`cast` (UnsafeCo representational
(forall t_a13D. [t_a13D] -> [t_a13D]) ()
:: ((forall t_a13D. [t_a13D] -> [t_a13D]) :: *) ~R# (() :: *)))
(GHC.Types.[] @ ()))