I'd suggest documenting the inner workings of the method, since for newcomers it's not currently clear why we need the `loop`.