+ let empty_body =
+ match Ast.undots body with
+ [body] ->
+ (match Ast.unwrap body with
+ Ast.Dots
+ ((_,i,Ast.CONTEXT(_,Ast.NOTHING),_),[],_,_) ->
+ (match Ast.unwrap rbrace with
+ Ast.SeqEnd((_,_,Ast.CONTEXT(_,Ast.NOTHING),_))
+ when not (contains_pos rbrace) -> true
+ | _ -> false)
+ | _ -> false)
+ | _ -> false in
+ if empty_body && after = Tail
+ (* for just a match of an if branch of the form { ... }, just
+ match the first brace *)
+ then quantify guard lbfvs (make_match lbrace)
+ else if ends_in_return body