Sam Westrick @shwestrick.bsky.social · 19/06/2025I believe what's happening here is that the result is being inferred as: 'a @ contended But why? 120 0
Sam Westrick @shwestrick.bsky.social · 19/06/2025Perhaps we can add some annotations to clear it up. Let's specify that the result is uncontended: 120 0
Sam Westrick @shwestrick.bsky.social · 19/06/2025now we get a more informative error: the offending value is the argument `z`. In order for type checker to be satisfied, this value would need to be uncontended. But clearly it is contended: we use it twice in parallel, in the two recursive calls. 120 0