{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreiajtaeks5qnbziqyvjl6uhruffpvnavz4shxxyvi6hfruyflpbcwi",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mfykdhl4o5n2"
},
"path": "/t/can-backpack-solve-the-basement-problem/13749#post_8",
"publishedAt": "2026-03-01T09:57:39.000Z",
"site": "https://discourse.haskell.org",
"textContent": "Perhaps we should normalize everybody specifying interfaces for all their dependencies. Even if you only ever want to use one specific implementation, it is still good for maintainability to specify what specific parts of your dependencies you are using and how that forms a cohesive interface. Making your interfaces explicit is the first step to keeping them small, increasing cohesion and reducing coupling.\n\nThe main problem I can think of is the extra maintenance burden of maintaining these interfaces. If HLS had a code action to add things to a backpack signature just like it has one for adding an import or making all imports explicit, then perhaps this would be more feasible.",
"title": "Can backpack solve the 'basement' problem?"
}