どうしてもrot90でtransposeを定義しなきゃいけないの?
そうでなくて単にtransposeが必要ってだけならその定義は捨てて
import Data.Listしてtransposeを使えば良いんじゃない?