```\nfunction tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n    unchecked {\n        if (a == 0) return (true, 0);\n        uint256 c = a * b;\n        if (c / a != b) return (false, 0);\n        return (true, c);\n    }\n}\n```\n