Code review (part I)
I'm out of time for this week, but here is an initial code review of the library (cc @anoe). I haven't reviewed the operational semantic / runtime correctness, as that would escalate more into the code audit area, and it's much more time consuming to do. I have focused on general code best practices and general design considerations.
@cgenie I have structured the commits such that you can cherry pick or ignore them as you see fit, as you might not agree with the rational behind each of them. There is also a REVIEW.md
that explain things, and each commit should have a description explaining the rationale. The most interesting thing for you will be the last paragraph of the REVIEW.md
where I describe an alternative design based on record-of-functions. I'm out of time this week, but if you are interested to see how this would look like, I'm happy to come up with a sketch, to compare the two and see if there is a winning design for this particular scenario.
I hope this helps!