Just noticed this, but isn’t `location(touches[0])` more efficiently defined as `locations[p.identifier]`?