"One could argue if these are *really* the most appropriate 15(+) exercises to learn a new programming language - however, the task of answering this rather complex question is left as an exercise for the reader. Instead of this I will show you their impl