It was always the intention to support flex arrays in the absence of Numpy. If there is some refactoring to be done, this principle should be preserved: that Numpy is an optional rather than required dependency.
Not sure about the wording in your second sentence. At the time we developed flex, branching was not a code development mechanism we used. Furthermore, not sure why you say Numpy is "exclusively" used in the flex constructors? Certainly there are numerous flex constructors that do not involve Numpy?