title: Why is 'not(True) * True' valid syntax, unlike 'True * not(True)'?
body: <p>Is this a consequence of the hierarchical order of operators in Python?</p>
  <pre><code>not(True) * True
  # False
  True * not(True)
  # SyntaxError: invalid syntax
  </code></pre>