Reworked solution after taking to maintainer. He said, that it will break code that includes a smart_ptr header and then includes the system <var.h>.