H_list
type (_, _) t =
| [] : ( 'r, 'r ) t
| :: : 'a * ( 'r, 'k ) t -> ( 'r, 'a -> 'k ) t
Polymorphic list type.