     ///
     /// Note that while this returns an Int32, the value must always be greater than zero.
     public var networkStreamID: Int32? {
-        return (self.id.actualStreamID >= 0) ? self.id.actualStreamID : nil
+        return (self.actualStreamID >= 0) ? self.actualStreamID : nil
     }
 }
 
 // MARK:- Equatable conformance for HTTP2StreamID
 extension HTTP2StreamID: Equatable {
     public static func ==(lhs: HTTP2StreamID, rhs: HTTP2StreamID) -> Bool {
-        return lhs.id === rhs.id
+        return lhs === rhs
     }
 }
 

        precondition(oldValue == nil, "Mapping abstract stream ID that already has a mapping!")

        // Now we set the actual stream ID.
        streamID.id.actualStreamID = networkStreamID
    }

    /// Returns the internal `HTTP2StreamID` for a given network stream ID.

    ///
    /// An abstract stream ID represents a handle to a stream ID that may or may not yet
    /// have been reified on the network.
    public init() { }

    /// Create a `HTTP2StreamID` for a known network ID.
    ///
    /// This is used to initialize the global "stream 0" stream ID.
    fileprivate init(knownID: Int32) {
        self.actualStreamID = knownID
    }

    /// The stream ID used on the network, if there is one.
