I could be wrong, but I think you have to solve the constraints at the acceleration level rather than the velocity level if you want to use a generic integration scheme. Presumably, it's because solving constraints at the velocity level interferes with the normal generic integration of velocity, which is acceleration * time.
I have done this (solved constraints at the acceleration level with different RK schemes), it works, but my experience would probably tell you that you don't want to do this. While the different types of integration all have different properties, the only ones that are consistently more stable than symplectic are the implicit ones. And that adds a whole new complication, not to mention the expense of calculating them. But, as always, it depends on your actual project what your requirements are.