transforms :: Parser ([(String, [String])], Rules Char)
transforms = do
    tr <-  manyTill (whiteSpace transformDef *> transform <* whiteSpace transformDef) $ reserved transformDef "start"
    whiteSpace transformDef
    rs <- rules
    return (tr, rs)
transforms :: Parser ([(String, [String])], Rules Char)
transforms = do
    tr <-  manyTill (whiteSpace transformDef *> transform <* whiteSpace transformDef) $ reserved transformDef "start"
    whiteSpace transformDef
    rs <- rules
    return (tr, rs)
transforms = do
    tr <-  manyTill (whiteSpace transformDef *> transform <* whiteSpace transformDef) $ reserved transformDef "start"
    whiteSpace transformDef
    rs <- rules
    return (tr, rs)