overload begin and end for mutable_source so that it works direcly with range-based for