let keep_n_items n channel = let rec iter acc m = function [] -> List.rev acc | i :: q when m > n -> List.rev acc | i :: q -> iter (i :: acc) (m+1) q in let c = copy_channel channel in c.ch_items <- iter [] 1 c.ch_items; c