Fixing the subtyping rules of vararg