diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,10 @@
 
 This project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/).
 
+## [0.6.0.1] - 2023-07-13
+
+- Fix mistake in header file that caused builds to fail
+
 ## [0.6.0.0] - 2023-07-13
 
 - Use Int instead of CInt for all offsets into byte arrays
diff --git a/include/HaskellPosix.h b/include/HaskellPosix.h
--- a/include/HaskellPosix.h
+++ b/include/HaskellPosix.h
@@ -3,30 +3,20 @@
 #include <stdint.h>
 #include "Rts.h"
 
-ssize_t recv_offset(int socket, char *buffer, int offset, size_t length, int flags);
-ssize_t send_offset(int socket, const char *buffer, int offset, size_t length, int flags);
+ssize_t recv_offset(int socket, char *buffer, HsInt offset, size_t length, int flags);
+ssize_t send_offset(int socket, const char *buffer, HsInt offset, size_t length, int flags);
 
-ssize_t sendto_offset(int socket, const char *message, int offset, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len);
-ssize_t sendto_inet_offset(int socket, const char *message, int offset, size_t length, int flags, uint16_t port, uint32_t inet_addr);
-ssize_t recvfrom_offset(int socket, char *restrict buffer, int offset, size_t length, int flags, struct sockaddr *restrict address, socklen_t *restrict address_len);
+ssize_t sendto_offset(int socket, const char *message, HsInt offset, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len);
+ssize_t sendto_inet_offset(int socket, const char *message, HsInt offset, size_t length, int flags, uint16_t port, uint32_t inet_addr);
+ssize_t recvfrom_offset(int socket, char *restrict buffer, HsInt offset, size_t length, int flags, struct sockaddr *restrict address, socklen_t *restrict address_len);
 
 int setsockopt_int(int socket, int level, int option_name, int option_value);
 
-// There are some compatibility macros in here. Before GHC 8.10,
-// no offset is applied to ArrayArray#.
 int recvmmsg_sockaddr_in (int sockfd , int *lens , struct sockaddr_in *addrs
-#if __GLASGOW_HASKELL__ >= 810
   , StgArrBytes **bufs // used for output
-#else
-  , StgMutArrPtrs *arr // used for output
-#endif
   , unsigned int vlen , int flags);
 
 int recvmmsg_sockaddr_discard (int sockfd , int *lens
-#if __GLASGOW_HASKELL__ >= 810
   , StgArrBytes **bufs // used for output
-#else
-  , StgMutArrPtrs *arr // used for output
-#endif
   , unsigned int vlen , int flags);
 
diff --git a/posix-api.cabal b/posix-api.cabal
--- a/posix-api.cabal
+++ b/posix-api.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name: posix-api
-version: 0.6.0.0
+version: 0.6.0.1
 synopsis: posix bindings
 description:
   This library provides a very thin wrapper around POSIX APIs. It can be
