Hmmmmmmmmmmmmm...... That was a slog! :-) My take: - I buy the "sensible defaults" argument most: bracket should "do the generally right thing" - Sure... fix hClose *(I can't tell from the discussion if there is or isn't really a bug there...but please, don't tell me here - that isn't the discussion at hand)* - but I don't see how even in the presence of fixed library functions, bracket still shouldn't "do the right thing". - As always, I side with Gregory on the deep caution stance - I like things to be stable for the long haul.... - ...but in this case, I didn't see anyone point to *any *preexisting code that would break under this proposal. Perhaps we havent done enough auditing.... but no one in this long thread pointed at even one such case. (Gregory - yours feels a bit contrived, even if you've seen it is some other, non-Haskell, proprietary system :-) ) Whereas John Lato has given us a simple, reasonable, but utterly broken example under the current bracket. So here's how I vote: +1 for Merijn's Proposal - but I'm all for as much aduiting and testing before we go as we can stand -0.5 for interruptibleBracket - because it feels like "we weren't sure if anyone needed this, so we kept it for completeness..." and then it just becomes something to maintain.