 }
 
 /// Describes an option that can be provided on the command line.
-public struct Option<T: ArgumentType> {
+public struct Option<T> {
 	/// The key that controls this option. For example, a key of `verbose` would
 	/// be used for a `--verbose` option.
 	///

/// the argument by the given name.
private func missingArgumentError(argumentName: String) -> NSError {
	let description = "Missing argument for \(argumentName)"
	return CarthageError.InvalidArgument(description: description).error
}


		self.key = key
		self.defaultValue = defaultValue
		self.usage = usage
	}

	/// Constructs an `InvalidArgument` error that describes how the option was
