@@ -1714,6 +1714,10 @@ stripLinear i tm = evalState (sl tm) [] where
17141714 return (a' : as')
17151715 slAlts ns [] = return []
17161716 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
1718+ t' <- sl t
1719+ r' <- sl r
1720+ return (PDPair fc p l' t' r')
17171721 sl (PApp fc fn args) = do -- Just the args, fn isn't matchable as a var
17181722 args' <- mapM slA args
17191723 return $ PApp fc fn args'