Anyway it's a bit weird to sometimes have ? and sometimes not. I understand the only problematic case is chanigng `?something` to ``. Why don't we check than if we produced empty string from non-empty output and only than leave `?`? Or there's something I didn't get?