Hazel: A live functional programming environment with typed holes