This is Common Lisp, which is multi–paradigm on purpose. You can write purely function code if you want, or go completely object oriented, or just write in a very straight forward procedural style. There are benefits to all of them, so the language designers decided not to force people into any one style. Personally I prefer code that is mostly procedural with a fair amount of functional code mixed in.