Kind of ironically I've enjoyed the 'Write Yourself a Scheme in 48 Hours'[1] which goes over how to write your own Scheme in Haskell. It introduces some of the more interesting monads although I'm not sure how idiomatic it is.
You don't need to use a separate extension to filter out search results. You can use this tool to generate filters for uBlock Origin: https://letsblock.it/filters/search-results
Well, generally if you propose a law like that there is a large discussion around it and those that propose it usually write a whole bunch of 'this is why its a good idea' stuff.
The Bundesrat (i.e. the State Council) sometimes proposes an alternative. So they might say 'Initiative X proposes Y, but the State Council recommends a compromise where we do Z instead'. And then when you vote on it you have 3 options, rather then just 'yes' or 'no'.
There is also a check of the highest court, where they basically say 'this isn't really according to international law'. However that is just a recommendation and people can ignore it when voting.
Also, even if something goes threw, the actual implementation usually slightly adjust to reality on the ground somewhat.
It starts out pretty easy but gets harder and requires more thought. It has different sections on things like list processing or graph problems.