map + filter + productって感じなんだが
多重ループで使われるのが独立変数とは限らないので、常にproductというわけでもない
リスト内包を使わず多重ループを書く場合、
Schemeのappend-map、ScalaのflatMap、.NETのSelectManyあたりで
ネストする読みにくいコードになる

Pythonにはこれらのものが無いので、上のコードでは
sum(map(f, xs), [])でflatmap(f, xs)の代用とした