Common Lisp’s open function to me is very intuitive. Rust’s API IMO is also excellent. Still, I need to reread the API reference every few months to ensure I understood it correctly. In contrast, I’m confident about the behavior of this Common Lisp program
without rereading the manual.
std::fs::OpenOptions::new()
.create(true)
.write(true)
.append(true)
.open("foo.txt")
Common Lisp
(open #p"foo.txt"
:direction :output
:if-exists :append
:if-does-not-exist :create)