diff --git a/include-fd/stdplus/fd/ops.hpp b/include-fd/stdplus/fd/ops.hpp
index 98bdaee..e388dae 100644
--- a/include-fd/stdplus/fd/ops.hpp
+++ b/include-fd/stdplus/fd/ops.hpp
@@ -4,7 +4,6 @@
 #include <stdplus/raw.hpp>
 
 #include <span>
-#include <stdexcept>
 #include <utility>
 
 namespace stdplus
@@ -113,21 +112,6 @@
     return fd.listen(backlog);
 }
 
-template <typename SockAddr>
-inline std::optional<DupableFd> accept(Fd& fd, SockAddr&& sockaddr)
-{
-    auto ret = fd.accept(raw::asSpan<std::byte>(sockaddr));
-    if (!std::get<0>(ret))
-    {
-        return std::nullopt;
-    }
-    if (std::get<1>(ret).size() != sizeof(sockaddr))
-    {
-        throw std::runtime_error("Invalid sockaddr type for accept");
-    }
-    return DupableFd(std::move(*std::get<0>(ret)));
-}
-
 inline std::optional<DupableFd> accept(Fd& fd)
 {
     auto ret = std::get<0>(fd.accept(std::span<std::byte>{}));
