I wanted to overload Python syntax to somehow match the syntax of probabilistic expressions like E[X,Y|Z,W].
I first considered overloading | but this would be legal and have the same AST: E[X,(Y|Z),W].
However E[X,Y : Z,W], for all of its weirdness, is pretty robust even if the AST doesn't reflect the correct parsing.