Learning some cool functional programming sttuf