     public var value: [Value] = []
     
     public init(_ names: String ..., description: String = "", completion: ShellCompletion = .filename, validation: [Validation<Value>] = []) {
-        super.init(names, description: description, completion: completion, validation: validation)
+        super.init(names: names, description: description, completion: completion, validation: validation)
     }
     
     public func update(to value: Value) {

    /// - Parameters:
    ///   - names: the names for the key; convention is to include a short name (-m) and a long name (--message)
    ///   - description: A short description of what this key does for usage statements
    public init(_ names: [String], description: String, completion: ShellCompletion, validation: [Validation<Value>] = []) {
        self.names = names
        self.shortDescription = description
        self.completion = completion

    public var value: Value?
    
    public init(_ names: String ..., description: String = "", completion: ShellCompletion = .filename, validation: [Validation<Value>] = []) {
        super.init(names: names, description: description, completion: completion, validation: validation)
    }
    
    public func update(to value: Value) {
