Code factorisation for yielders

+1, with a side note: some of these warning come from the libstdc++ that
provides inconsistent header.