I've seen quite a bit of discussion about concepts on this forum. However I have not seen much description of what the end goal is for concepts (maybe I missed it?).
In particular, are nimĀ“s concepts mean to be similar to the equally named work in progress C++ feature? If so, what are the differences? What is the main purpose of concepts and what is the main use case for them in nim (i.e. what do they let you do that is not possible or easy with nim without them)? Thanks!