Hi,
You used to be able to get the SocketType from an active Socket by pattern-matching the MkSocket constructor. Since 3.0 this no longer seems to be possible. This breaks io-streams-haproxy. We should expose a getSocketType :: Socket -> SocketType. I'll prepare a PR