Draft version of learning functional programming | <v1>