Allow default to be passed to get_attribute
Added mapping iterator concept