Range : add an `union` factory ctor with doc and test