factor :: Parser Expr
factor = true
      <|> false
      <|> zero
      <|> ifthen
      <|> parens expr
factor :: Parser Expr
factor = true
      <|> false
      <|> zero
      <|> ifthen
      <|> parens expr
factor = true
      <|> false
      <|> zero
      <|> ifthen
      <|> parens expr