Hi MCDA, thanks for the query. This was part of some large-scale maxspeed updates over the past few months to improve routing & for any other data applications - I've tried my best to minimise errors, but I accept there may be some.

Regarding street lights however, I researched this as much as possible (there is not much documened online, and the legislation is somewhat open to interpretation). The clearest source I could find was this [2009 discussion on the RAC forums](https://forum.rac.co.uk/threads/9339-When-does-an-unrestricted-road-become-restricted/page2) with information purported to be from the DfT and Thames Valley Police, stating their shared interpretation that a truly "restricted" road (i.e. 30 limit denoted by presence of street lights) can only be enforced if it has a 30 limit sign when you enter the section of road. Thus, when in the zone, no repeater signs are required because the street lights denote the restricted nature of the road. Meanwhile, if you enter a stretch of road with street lights and no indication of entering a restricted (30) limit, this is not considered to be a restricted road and therefore retains the limit last signposted (e.g. NSL).

[Incidentally, I'm not aware of any mention in legislation of a implied 40 limit as per your message, only interpretations of an implied 30 limit.]

In practice, if traffic were to slow down to 30 at any section with street lights (e.g. around junctions on the dual carriageway A4) it would actually be dangerous to them and other road users. The other practical issue I can think of is where drivers use a "black box" speed monitor to keep their insurance premiums low. If they were to drive along a NSL single carriageway at 60 mph, pass a few streetlights at a junction where the road has been marked on OSM as a 30 limit, due to only the presence of lamp posts, they will be unfairly penalised when this is processed as a transgression.

General opinion is that the legislation around speed limits is a bit of a mess, but the DfT and TVP intepretation appears to provide fairly clear and implementable standard. Happy to discuss here or somewhere more public, if this doesn't seem like the right interpretation :-)