Learning FP the hard way: Experiences on the Elm language