This pattern is not terribly good - you force the user to do something manually that the snippet could figure out on its own. You repeat this pattern below again. How about 
`!p snip.rv = "(" if t[2] else ""`${2:args}`!p snip.rv = "(" if t[2] else ") "`->