extract2 :: Int -> (PTerm -> PTerm -> a) -> PTerm -> PTerm -> Elab' aux (a, [(Name, PTerm)])
extract2 n c a b = do (a', ex1) <- extractUnquotes n a
                      (b', ex2) <- extractUnquotes n b
                      return (c a' b', ex1 ++ ex2)
extract2 :: Int -> (PTerm -> PTerm -> a) -> PTerm -> PTerm -> Elab' aux (a, [(Name, PTerm)])
extract2 n c a b = do (a', ex1) <- extractUnquotes n a
                      (b', ex2) <- extractUnquotes n b
                      return (c a' b', ex1 ++ ex2)
extract2 n c a b = do (a', ex1) <- extractUnquotes n a
                      (b', ex2) <- extractUnquotes n b
                      return (c a' b', ex1 ++ ex2)