 
         repeat {
             do {
-                try _attemptClosure(call:  {
+                try _attemptClosure(funcCall: {
                                         return nn_close(fileDescriptor)
                                     },
-                                    error: { errno in
+                                    failure:  { errno in
                                         return .Close(code: errno)
                                     })
             } catch NanoMessageError.Interrupted {

        return endPoint
    }

    /// Adds a local endpoint to the socket. The endpoint can be then used by other applications to connect to.
    ///
    /// - Parameters:

    /// Establish an endpoint on the socket.
    ///
    /// - Parameters:
    ///   - url:      Consists of two parts as follows: transport://address. The transport specifies the
    ///               underlying transport protocol to use. The meaning of the address part is specific
    ///               to the underlying transport protocol.
    ///   - name:     An optional endpoint name.
    ///   - type:     The connection type used to establish the endpoint.
    ///   - funcCall: Closure used to establish the endpoint.
    ///   - failure:  The error should the `funcCall` fail.
    ///
    /// - Throws:  `NanoMessageError.GetSocketOption`
    ///
    /// - Returns: An endpoint that has just been established. The endpoint can be later used to remove the
    ///            endpoint from the socket via `removeEndPoint()` function.
    private func _establishEndPoint(url:      URL,
                                    name:     String,
                                    type:     ConnectionType,
                                    funcCall: (UnsafePointer<Int8>) -> CInt,
                                    failure:  (CInt) -> NanoMessageError) throws -> EndPoint {
        var receivePriority: Priority?
        var sendPriority: Priority?

