I agree that nil would be a less confusing default for completion-flex-no-space, but I am still confused about something: why is that variable relevant in the first place? Does fido-mode use the flex completion style unconditionally, ignoring the user's setting of completion-styles and completion-category-overrides?