Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
This needs to support a newer version of F#. Important (efficient) List functions and operations are missing (or crash) in the ancient version of F# that is supported. That means I have to fall-back to older functions that are many orders of magnitude slower and cause the submission tests to time out. Like others here, I'm opposed to a purely math solution being the only option.
Needs a lot more languages to be supported.
Best way to see this work is to copy paste this, and the test, and step through it in debug. It will show you what is going on.
I would like to see an explanation of how this works. That last line seems to accomplish more that any line of code should be capable of.
While an interesting demonstration of SOLID, your stated goal to "make it more understandable, flexible, and maintainable" is exactly the opposite of what you mananged to accomplish. Classic case of over-engineering, and OOP run amok. But, I'm sure you know that.