type 'a tree = | Node of 'a option * 'a tree list
val threads :
id:('a -> string option) ->
references:('a -> string list) ->
subject:('a -> string) ->
date:('a -> float) ->
'a list ->
'a tree listval base_subject : string -> stringval is_reply : string -> boolval flatten : 'a tree list -> ('a * int) listval of_mail : ('a -> Mail.t) -> 'a list -> 'a tree list