+parseOp1 = trans1 DashToken UnMinus <|> trans1 ExclamationToken UnNegation
+
+parseBBraces :: (Parser Token a) -> Parser Token a
+parseBBraces p = satTok BraceOpenToken *> p <* satTok BraceCloseToken
+
+parseBCBraces :: (Parser Token a) -> Parser Token a
+parseBCBraces p = satTok CBraceOpenToken *> p <* satTok CBraceCloseToken
+
+parseBSqBraces :: (Parser Token a) -> Parser Token a
+parseBSqBraces p = satTok SquareOpenToken *> p <* satTok SquareCloseToken
+
+parseTuple :: (Parser Token a) -> Parser Token (a, a)
+parseTuple p = satTok BraceOpenToken *>
+ (liftM2 (\a->(\b->(a,b))) (p <* satTok CommaToken) p)
+ <* satTok BraceCloseToken