Cascade directive not properly working on fragments if types have the same field names

I was suspecting the reason was both types had Generic.names and I see the logic behind the result.
I fully understand that returning empty objects if the fragment expands only some types is spec-compliant, but I feel like this behaviour does not reflect the @cascade’s definition.

With the @cascade directive, nodes that don’t have all fields specified in the query are removed.

Is it an intended behaviour and will never be “fixed”, or it might be possible that a postprocess of the data will be added in the GrapQL resolution of the directive?