With !104 (merged) the left constructor is taken instead of the right. For lists, this means gDefault generates an infinite list. This case is specialised, also for other kinds of lists and arrays. The cases for unboxed lists/arrays cannot be derived, because not every type can be unboxed.
I also cleaned up the file to fit the coding standards.