cond, call, ret :: Parser Control
cond =
  do { lexeme (reserved "if")
     ; cnd <- expr
     ; lexeme (reserved "then")
     ; thn <- goto
     ; lexeme (reserved "else")
     ; els <- goto
     ; return $ Cond cnd thn els
     }
 <?> "cond"
cond, call, ret :: Parser Control
cond =
  do { lexeme (reserved "if")
     ; cnd <- expr
     ; lexeme (reserved "then")
     ; thn <- goto
     ; lexeme (reserved "else")
     ; els <- goto
     ; return $ Cond cnd thn els
     }
 <?> "cond"
cond =
  do { lexeme (reserved "if")
     ; cnd <- expr
     ; lexeme (reserved "then")
     ; thn <- goto
     ; lexeme (reserved "else")
     ; els <- goto
     ; return $ Cond cnd thn els
     }
 <?> "cond"