I think I would prefer that this be a boolean function `Closed` and make the caller responsible for turning that into an error - there are cases where the code wants to check but it isn't an error if it is closed, just a different code path.