Is this going to set the value to the `Maybe` rather than to the string? Should it call `flags.putStringKeyIfHasValue`?