add token() to Source, to re-return the last yielded token