diff --git a/tl_expected/include/tl_expected/expected.hpp b/tl_expected/include/tl_expected/expected.hpp
index ae90975..2af2e7a 100644
--- a/tl_expected/include/tl_expected/expected.hpp
+++ b/tl_expected/include/tl_expected/expected.hpp
@@ -13,6 +13,12 @@
// .
///
+#warning "tl_expected/expected.hpp is deprecated. Use from libexpected-dev, or if the system header is not available."
+// If the system header is available, redirect to it.
+// Otherwise, fall back to the vendored version
+#if __has_include()
+#include
+#else
#ifndef TL_EXPECTED_HPP
#define TL_EXPECTED_HPP
@@ -2480,4 +2486,6 @@ void swap(expected &lhs,
}
} // namespace tl
-#endif
+#endif // TL_EXPECTED_HPP
+
+#endif // !defined(USE_VENDORED_TL_EXPECTED) && __has_include()
diff --git a/tl_expected/package.xml b/tl_expected/package.xml
index e50c708..fd4a91d 100644
--- a/tl_expected/package.xml
+++ b/tl_expected/package.xml
@@ -16,6 +16,8 @@
ament_cmake
+ libexpected-dev
+
ament_cmake