use unstable::finally::Finally instead of reimplementing it