Excessive use of comprehensions makes this less than readable IMO.