Does the void-for vagueness doctrine require that laws be perfectly clear and unambiguous?