@@ -1714,6 +1714,10 @@ stripLinear i tm = evalState (sl tm) [] where
1714 return (a' : as')
1714 return (a' : as')
1715 slAlts ns [] = return []
1715 slAlts ns [] = return []
1716 sl (PPair fc p l r) = do l' <- sl l; r' <- sl r; return (PPair fc p l' r')
1716 sl (PPair fc p l r) = do l' <- sl l; r' <- sl r; return (PPair fc p l' r')
1717+ sl (PDPair fc p l t r) = do l' <- sl l
1720+ return (PDPair fc p l' t' r')
1717 sl (PApp fc fn args) = do -- Just the args, fn isn't matchable as a var
1721 sl (PApp fc fn args) = do -- Just the args, fn isn't matchable as a var
1718 args' <- mapM slA args
1722 args' <- mapM slA args
1719 return $ PApp fc fn args'
1723 return $ PApp fc fn args'