There is no such thing as a law that isn't vague to a degree, because laws are expressed in words and concepts, and those are vague by their nature. Laws can, of course, be vague to a lesser or greater degree. We definitely don't want poetry-level vague laws, but we also don't want to (or can't) have laws expressed in code or as mathematical proofs, because this level of clarity is just computationally intractable wrt. anything relating to real world and real people. At this point, the practical optimum seems to be laws that mostly obvious in vast majority of scenarios, and leaving it to judges to opine on corner cases on an individual basis.