We love dogpile and use it extensively throughout our application (maybe too much...).
One issue we have through using it so much is our stack traces become unmanageable. Because we cache at multiple layers of our calculation, and dogpile adds five levels to the stack at each layer, a stack trace that was 8 levels deep can become 30 levels deep, almost all of which is repetitive dogpile code*.
I'd need to think more about how to go about collapsing the stack; I could imagine trying to come back up the stack within dogpile rather than burrowing deeper could be a solution.
I'd be happy to do a PR if Mike / others think it's a good idea, and can give some direction on how we could go about doing this.
*that's an extreme case, and generally we're not trying to cache at each level - but there are times we're not sure whether a result is a final result or an intermediate result, and for those we'll often cache both