[ n | (n,True) <- zip [1,2,3,4,5] [True,False,True,False,False] ]
他のletの中とかならマッチしない時点でエラーが出ると思うのですが
なぜこのやりかたで絞込みができるのでしょうか?
内包表記が特別扱いされてるとか?