anchor.diff:                                                                    Socket.setOption socket (ZMQ.GSSAPI_SERVICE_PRINCIPAL ,servicePrincipal )
                                                                     Socket.setOption socket (ZMQ.GSSAPI_PLAINTEXT         ,true             )
   
  -  
  +    /// Sets all the given `SocketOption`s on the given `Socket`
       let configureSocket socket socketOptions = 
         Seq.iter (setSocketOption socket) socketOptions
     
  
positive.code:     let (|MoreMessageFramesAvailable|) socket = getBool ZMQ.RCVMORE socket
    
      /// Socket event state, see all: Polling
      let (|Events|) socket = getInt32 ZMQ.EVENTS socket |> int16 // ZMQ actually uses and int32 in the getOptions, even though, internally only an int16 is actually used
    
      /// Socket type
      let (|SocketType|) socket : int<ZMQ.SocketType> = getInt32WithMeasure ZMQ.TYPE socket
  
negative.code:     /// Make socket act as a GSSAPI client, disabling encryption.
      | GssapiClientUnencripted of principal:string * servicePrincipal:string
    
    /// Contains functions for configuring sockets and patterns for interogating sockets
    [<AutoOpen;CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
    module SocketOption =
      /// Sets the given `SocketOption` on the given `Socket`
      let setSocketOption socket option =
        match option with
        // general options
  