Introductory functional programming exercises