The codice_4 function then runs the closure on each book in the list to pick which books to return. Because the closure itself has a reference to codice_3, the closure can use that value each time codice_4 runs the closure. The function codice_4 itself might be written in a completely separate file.