Don't call self.fn.free() unnecessarily.