I don't see why to make special handling with :timeout here, just to return, the line below is checking if heartbeat_data isn't nil, it should be good enough. Just allow bleed to return nil also when there is a timeout. If there is any reason to make this extra work then there is a timeout in bleed, then sorry, maybe I'm out of date, but at this moment, I don't see why todo this special handling, just to return