- `URPartial` looks like a weird solution to a weird problem.
- It is considered a "common mistake" to not use preconditions/putting them inside the definitions, but I didn't do it either and disagree that this is a mistake. The code still looks very readable without them and they are mainly applicable in situations where there are multiple solutions to the problem, which is not the case here.
Justas:
- It works.
- Helper functions are well chosen and make the rest of the code easier to understand.
- Well documented
- Good that you added the precondition for MakeRequest. Many people including me forgot it and lost points.
- You don't actually need `Cn` when using functions (see page 113), but it's not wrong.