use splitAt
change grid from [[Square]] to [Square]
use Data.Sequence instead of []