method mk_patt_list =
function
| Ast.PaApp (_,
(Ast.PaApp (_, (Ast.PaId (_, (Ast.IdUid (_, "::")))),
p1)),
p2) ->
let (pl, c) = o#mk_patt_list p2 in ((p1 :: pl), c)
| Ast.PaId (_, (Ast.IdUid (_, "[]"))) -> ([], None)
| p -> ([], (Some p))