Val on Programming: What makes a good REPL?