It is the case that if you do a flow-insensitive analysis of variables over SSA, it will be equivalent to a flow-sensitive analysis of variables, because of the static single assignment property. I think that's what the author is trying to say, and I agree.
> To wit MLIR, an SSA IR, handily supports both sparse and dense dataflow analysis:
I don't think dense vs sparse analysis is the same thing as the use of the word "sparse" in the post.
> This is true of course but I struggle to think of a reasonable semantic that would enable you to refine/change/alter the type of a value that wasn't an operation.
If you're compiling a dynamically typed language, for example.