Hazel: A live functional programming environment featuring typed holes