Just be careful to write:

(map.map) read l

or

map.map $ read l

actually, map . map $ read l does not work, that's the same as (map . map) (read l), whereas (map . map) read l is the same as ((map . map) read) l.  My guess is that Jules wrote that part while asleep. =)

-Brent