Support generic dispatch of iterator, append and empty