It's not "essentially flatmap" for more complicated data structures or data sources unless your definition of "flatten" is "do any arbitrary thing".
Definitely not arbitrary but maybe not useful for many monads (??)
So in a sense yes it's "just" this function that could do anything following the signature.
But now you're in the same place you already were, looking at a simple type signature with massive hidden implications, and if you treat it like a list you'll miss those implications.
"flatmap generalized to a vast field of dissimilar types" is much more complicated than just "flatmap"