     /// - note: This value is interpreted in the context of the calendar in which it is used.
     public var yearForWeekOfYear: Int? {
         get { return _handle.map { _getter($0.yearForWeekOfYear) } }
-        set { _applyMutation { $0.yearForWeekOfYear = _setter(newValue) } }
+        set { _applyMutation { $0.yearForWeekOfYear = DateComponents._setter(newValue) } }
     }
     
     /// Set to true if these components represent a leap month.

    /// - note: This value is interpreted in the context of the calendar in which it is used.
    public var weekdayOrdinal: Int? {
        get { return _handle.map { _getter($0.weekdayOrdinal) } }
        set { _applyMutation { $0.weekdayOrdinal = _setter(newValue) } }
    }
    
    /// A quarter or count of quarters.
    /// - note: This value is interpreted in the context of the calendar in which it is used.
    public var quarter: Int? {
        get { return _handle.map { _getter($0.quarter) } }
        set { _applyMutation { $0.quarter = _setter(newValue) } }
    }
    
    /// A week of the month or a count of weeks of the month.
    /// - note: This value is interpreted in the context of the calendar in which it is used.
    public var weekOfMonth: Int? {
        get { return _handle.map { _getter($0.weekOfMonth) } }
        set { _applyMutation { $0.weekOfMonth = _setter(newValue) } }
    }
    
    /// A week of the year or count of the weeks of the year.
    /// - note: This value is interpreted in the context of the calendar in which it is used.
    public var weekOfYear: Int? {
        get { return _handle.map { _getter($0.weekOfYear) } }
        set { _applyMutation { $0.weekOfYear = _setter(newValue) } }
    }
    
    /// The ISO 8601 week-numbering year of the receiver.

    private func _getter(_ x : Int) -> Int? { return x == NSDateComponentUndefined ? nil : x }
    
    /// Translate from the proper Swift optional value into an NSDateComponentUndefined
    private static func _setter(_ x : Int?) -> Int { if let xx = x { return xx } else { return NSDateComponentUndefined } }

    /// The `Calendar` used to interpret the other values in this structure.
    ///
