When a framework can be anything from a collection of loosely coupled libraries to a rigid set of constraints, you have to admit that frameworks are just another abstraction. To be used or not used accordingly. For instance, I would write my own ui framework but I would not write my own graphql client. Or I’m fine with using haskell-servant, but I dislike parts of haskell-yesod.
Though if there is one thing to say about frameworks, it’s that they can be a real treasure trove of libraries for an ecosystem when they’re modularized enough. I’m thinking about the apollo graphql tools or the various orm’s that often started as part of a framework.