Should `and` be `&&` here?  I'm not suggested anything is broken, but using `and` near assignment operators can cause unexpected issues due to the difference in precedence between it and `&&`.  (`&&` is higher precedence than `||=` and `and` is lower than `||=`.)