Add yield_or_default and s