an alternative is to use `withDefaultValue`