Sorry for a stylistic lapse in a post I just sent from the wrong file. A tail should be called ts, not tss, in the proposed reference definition for List.transpose Doug transpose xss = case [h | (h:_) <- xss] of [] -> [] hs -> hs : transpose [ts | (_:ts) <- xss]