In case the handle symbol dies too early, even before we check the status, we might generate spurious leak warnings.
This pattern is not very common in production code but it is very common in unittests where we do know that certain syscall will fail.
It already makes me mildly uncomfortable that our data is not "normalized", i.e. you can indicate the Schrödinger state by either adding an error symbol or changing from Allocated to MaybeAllocated. Do i understand it correctly that you're now adding a special state where the handle is still MaybeAllocated but there's no error symbol? Please comment this up.