class Async::Debug::Selector

def deregister(object)

def deregister(object)
	Async.logger.debug(self) {"Deregistering #{object.inspect}."}
	
	unless io = ::IO.try_convert(object)
		raise RuntimeError, "Could not convert #{io} into IO!"
	end
	
	unless @monitors.delete(io.fileno)
		raise RuntimeError, "Trying to remove monitor for #{io.inspect} but it was not registered!"
	end
end