Functional programming workshop exercises