anchor.diff:        | Subscribe                   filter      -> Socket.setOption socket (ZMQ.SUBSCRIBE           ,filter         )
         | Unsubscribe                 filter      -> Socket.setOption socket (ZMQ.UNSUBSCRIBE         ,filter         )
         | Rate                        dataRate    -> Socket.setOption socket (ZMQ.RATE                ,dataRate       )
  -      | MulticastRecovery           time        -> Socket.setOption socket (ZMQ.RECOVERY_IVL        ,int time       )
  -      | SendBuffer                  size        -> Socket.setOption socket (ZMQ.SNDBUF              ,int size       )
  -      | ReceiveBuffer               size        -> Socket.setOption socket (ZMQ.RCVBUF              ,int size       )
  +      | MulticastRecovery           time        -> Socket.setOption socket (ZMQ.RECOVERY_IVL        ,time           )
  +      | SendBuffer                  size        -> Socket.setOption socket (ZMQ.SNDBUF              ,size           )
  +      | ReceiveBuffer               size        -> Socket.setOption socket (ZMQ.RCVBUF              ,size           )
         | MoreMessageFramesAvailable  more        -> Socket.setOption socket (ZMQ.RCVMORE             ,more           )
  -      | Events                      events      -> Socket.setOption socket (ZMQ.EVENTS              ,int events     )    
  +      | Events                      events      -> Socket.setOption socket (ZMQ.EVENTS              ,events         )    
         | AuthenticationDomain        domain      -> Socket.setOption socket (ZMQ.ZAP_DOMAIN          ,domain         )
         | Backlog                     length      -> Socket.setOption socket (ZMQ.BACKLOG             ,length         )
         | Immediate                   true        -> Socket.setOption socket (ZMQ.IMMEDIATE           ,1              )
  
positive.code:       | TcpKeepalive                (Some false)-> Socket.setOption socket (ZMQ.TCP_KEEPALIVE       , 0             )
        | TcpKeepalive                (Some true )-> Socket.setOption socket (ZMQ.TCP_KEEPALIVE       ,+1             )
        | TcpKeepaliveCount           count       -> Socket.setOption socket (ZMQ.TCP_KEEPALIVE_CNT   ,count          )
        | TcpKeepaliveIdle            idle        -> Socket.setOption socket (ZMQ.TCP_KEEPALIVE_IDLE  ,int idle       )
        | TcpKeepaliveInterval        delay       -> Socket.setOption socket (ZMQ.TCP_KEEPALIVE_INTVL ,int delay      )
        // PLAIN security
        | PlainServer true      ->  Socket.setOption socket (ZMQ.PLAIN_SERVER   ,1  )
        | PlainServer false     ->  Socket.setOption socket (ZMQ.PLAIN_SERVER   ,0  )
  
negative.code:       | Ipv6                        false       -> Socket.setOption socket (ZMQ.IPV6                ,0              )
        | KeepLastMessageInQueue      true        -> Socket.setOption socket (ZMQ.CONFLATE            ,1              )
        | KeepLastMessageInQueue      false       -> Socket.setOption socket (ZMQ.CONFLATE            ,0              )
        | LingerDelay                 delay       -> Socket.setOption socket (ZMQ.LINGER              ,delay          )
        | MaxMessageSize              size        -> Socket.setOption socket (ZMQ.MAXMSGSIZE          ,size           )
        | MaxReconnectInterval        delay       -> Socket.setOption socket (ZMQ.TCP_KEEPALIVE_INTVL ,delay          )
        | MulticastHops               hops        -> Socket.setOption socket (ZMQ.MULTICAST_HOPS      ,hops           )
        | ProbeRouter                 true        -> Socket.setOption socket (ZMQ.PROBE_ROUTER        ,1              )
        | ProbeRouter                 false       -> Socket.setOption socket (ZMQ.PROBE_ROUTER        ,0              )
        | ReceiveQueue                size        -> Socket.setOption socket (ZMQ.RCVHWM              ,size           )
        | ReceiveTimeout              delay       -> Socket.setOption socket (ZMQ.RCVTIMEO            ,delay          )
        | ReconnectDelay              delay       -> Socket.setOption socket (ZMQ.RECONNECT_IVL       ,delay          )
        | RelaxStrictAlternation      true        -> Socket.setOption socket (ZMQ.REQ_RELAXED         ,1              )
  