leChunk n proper (c:cs)
  | proper c        
  = case leChunk (n+1) proper cs of
       (restId, col, restInput) -> (c:restId, col, restInput)
  | otherwise
  = ([], n, c:cs)
leChunk n proper (c:cs)
  | proper c        
  = case leChunk (n+1) proper cs of
       (restId, col, restInput) -> (c:restId, col, restInput)
  | otherwise
  = ([], n, c:cs)
leChunk n proper (c:cs)
  | proper c        
  = case leChunk (n+1) proper cs of
       (restId, col, restInput) -> (c:restId, col, restInput)
  | otherwise
  = ([], n, c:cs)