Ah, I see. The vertical bars signify the start of a closure, (in other languages they are called anonymous functions, arrow functinons, etc.)
You can read about them here, as the book does a fantastic job of explaining them
And if you want to see how they work, you can ready my blog about them, although I should warn you, I do go in deep into how closures work, if you are unfamiliar with
trait, generics, and how they work together I would put this off for now until you get familiar with them.
If you have any questions, feel free to ask here or message me!