| [] -> assert false
| ([ loc ] , t, [], `BranchTag) :: (g', t', k', tag) :: s
when is_fresh loc ->
(([loc] @+ g', t, [], `BranchTag) :: ([], t', k', tag) :: s)
| _ -> fail (lazy "can't use wildcard here")
in
| [] -> assert false
| ([ loc ] , t, [], `BranchTag) :: (g', t', k', tag) :: s
when is_fresh loc ->
(([loc] @+ g', t, [], `BranchTag) :: ([], t', k', tag) :: s)
| _ -> fail (lazy "can't use wildcard here")
in