     /// - 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>] = []) {
+    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, description: description, completion: completion, validation: validation)
    }
    
    public func update(to value: Value) {

    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) {
