On many streets in Taiwan the "sidewalk" changes composition (tile, concrete, whatever) every few feet, often accompanied by a change in height. This makes for exciting walking, as if you don't pay attention you could easily end up with a sprain or broken bone. The reason I put "sidewalk" is that AFAICT there is no such thing in most of the city I'm in (Kaohsiung). Instead, you're basically walking across the front porch/entryway of a business or house (often both combined). Some large buildings have a big uniform sidewalk, but if you're in an area with lots of small businesses and houses, you better be careful.
So in a sense, you could say that the sidewalk is composed of the public API of each building. So what does this have to do with CPAN? Well, in a way this situation reminds me of CPAN. There's lots of APIs, some good, some bad, but they don't seem to fit together very well. Occasionally, you get an area where there's been some cross-module organization, like DBI/DBD, or the DateTime & Email projects. But generally, it's a free-for-all. This can be a problem, because no matter how good your sidewalk^HAPI is, it's still a bit of a problem if I have to be very careful of my transitions (in other words, write lots of glue code).
So next time you upload something to CPAN, maybe take a moment to see if there's other module in the same problem space that you could play nice with.