lazy accept empty stream on map/fold ... function