let destruct a =
    match a with App(f, l, _) -> (f, l) | _ -> raise Not_found