Java requires that all code be part of a class, so you can't just have Flux concat(Flux, Flux) as a free function, which imo would be the least confusing.
Some people prefer "always member functions" others prefer "static functions when taking two (or more) of same class".
A third alternative would be a constructor of the form Flux::Flux(Flux, Flux) (or Flux::Flux(Flux[]))
Combine 2 reactive streams into one
https://github.com/dilipsundarraj1/reactive-spring-webflux/tree/springboot3.0