Swift evolution proposal SE-0094 was implemented in Swift 3.0, introducing the global sequence functions:
But even admitting that this is a bug, you can still make the code look a lot nicer instead of worrying about it (typed in the browser without testing, but something like this should work):
typealias MyTriple = (Bool, ClosedRangeIterator, ClosedRangeIterator)
let someTriple : MyTriple = (false, seq1.makeIterator(), seq2.makeIterator())
let combined = sequence(state: someTriple) {
(iters: inout MyTriple) -> Int? in
iters.0 = !iters.0
return iters.0 ? iters.1.next() : iters.2.next()
}