Really, I think we shouldn't have "testing" "experimental" and other branches like that, your idea of making a branch for unstable feature is much better. Just do branch like "multithreading" and then merge it with main, when all work is done. Those testing branches will make more mess than good.