Prelude Data.List> let xs = concat $ iterate (¥x->[1:n| n<-x] ++ [2:n|n<-x]) [[1],[2]]
Prelude Data.List> xs !! 999
[2,2,2,2,1,2,1,1,2]