I don't know if this is nitpicking but I'm not a fan of using `|=`. Lex discussed this recently:
https://groups.google.com/d/msg/scala-language/C6ns64TphN8/6HHKor4RFrsJ

However, I won't press this too hard. Just wanted to make this observation.