1 2 3 4 5
{-# LANGUAGE LinearTypes #-} module LinearLazyPat where f :: (a,b) %1 -> (b,a) f ~(x,y) = (y,x)