There are a lot of programming languages, such as Lisps, that try to be extensible. They offer a philosophy of the end-programmer being able to add features that they want, features that take a while for other languages to receive, if ever. But this doesn’t necessarily work out that well. Immutable data structures can easily be added to Common Lisp, or many other languages, but it’s their pervasive use that makes them shine. For example, Clojure tries to use and encourage immutability, but whenever someone wants to work with code that doesn’t, (e.g. most Java code), there’s a mismatch, and often a wrapper will be written. Consider continuations: If not built-in to the language (or other manipulations, like Smalltalk’s thisContext), they may be hard to add to the language in a comprehensive way, even if the language offers features like macros. Observe Common Lisp’s cl-cont library: There are limitations on how the continuations it provides can be used.
There may be many features of a language which, if not pervasive, become less valuable or useful. Even though some languages may enable libraries to be written to provide such features, if one particular instance of the library doesn’t catch on, it’s still not as good as a language that has or encourages that feature from the start.