>>10
直した方がいいところはいろいろあるけどまずは簡単なところを一つ。
combinateStr = zipWith (++)
Preludeモジュールに入っている関数を一通り読んでおくと勉強になるよ。