Ask HN: How did you learn functional programming?