      * - parameter options: An array containing the options to add.
      */
     public func addOptions(options: [Option]) {
-        _options += options
+        for o in options {
+            addOption(o)
+        }
     }
     
     /**

        return _value != nil
    }
    
    override func setValue(values: [String]) -> Bool {
        if values.count == 0 {
            return false

     * - parameter option: The option to add.
     */
    public func addOption(option: Option) {
        let uf = _usedFlags
        for case let flag? in [option.shortFlag, option.longFlag] {
            assert(!uf.contains(flag), "Flag '\(flag)' already in use")
        }
        
        _options.append(option)
        _maxFlagDescriptionWidth = 0
    }
    
    /**
