pub fn run() -> Result<(), String>
Runs the REPL loop, reading user input and responding accordingly.
Ok(())
Err(String)