  A second defence of constraints proceeds from within non-ideal theory: from our account of what should be done when some people will not act as they should. One might say that all criminal law theory is part of non-ideal theory—that we have reason to have criminal law precisely because people will (otherwise) act wrongly. Be that as it may. As well as fallible agents who (would otherwise) commit crimes, there are fallible agents who make, apply, and enforce criminal laws. Any non-ideal theory must also take account of the errors the latter are disposed to make. Some are errors of application and enforcement—errors made when police officers arrest, prosecutors charge, and courts punish the innocent. More important for present purposes are the errors law-makers are disposed to make when creating crimes. These errors matter here for the following reason. Prescriptive norms are often justified on the grounds that they prevent/mitigate errors that would be made in their absence (Schauer 1991, 135–166). If followed, speed limits prevent some drivers from driving in ways that are impeccable in isolation. But the limits are justified if they prevent/mitigate errors that drivers would make if we did without speed limits, and if preventing/mitigating the errors is worth the cost of preventing some driving that is otherwise impeccable. Let us grant that, when followed, constraints like (W) or (HPP) prevent some law-makers from criminalizing in ways that are impeccable in isolation. The constraints may be justified if they prevent/mitigate errors law-makers would make if they did without them, and if preventing/mitigating the errors is worth the cost of preventing criminalization that is otherwise impeccable.