You made me realize, I think of the brackets as saying "where". vec[2] is vec where the index is 2. vec[vec > 5] is vec where the entries of vec are greater than 5, etc.
x[4 5 6] is index access (“at”); also x@4 5 6
x[&x>3] is “x at where x is greater than 3” ; can also be written x@&x>3