Presumably this already raises AlreadyFinalized if its called twice so we don't need to track `_used` in this class too?