let separate_last_branch l =
let rec iter = function
[] -> [], []
| [i] as l -> begin
match i.il0_t with
(IL0stmtGoto _ | IL0stmtSwitch(_,[DEFAULT, _]) | IL0stmtReturn _)
-> [], l
| _ -> l, []
end
| h::t ->
let t1,t2 = iter t in
h::t1, t2
in
iter l