Added decltype for std::free