This is a double-edged sword, it allows unashamed modifications but it does require rewrites.
Hopefully things settle with 5.4. I love how small and comprehensible the language is.
> The starter would be implementing all versions at once and allowing the mix of codes written for different versions.
I don't think this is quite possible, because some formatting and function return minor details that changed that would break interoperability. That said, porting between versions shouldn't be difficult. Just using the latest version would be the easier and safer solution.