Take these examples:

```py
>>> raise(BaseException())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
BaseException

>>> raise BaseException()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
BaseException

```

Recall this aphorism:

> 
> [There should be one-- and preferably only one --obvious way to do it.](https://www.python.org/dev/peps/pep-0020/)
> 
> 
> 

If `raise` is a keyword, why is it syntactically allowed to be viewed as being invoked like a function?

There are some other keywords as well which allow attached parenthesis.
Isn't it confusing?