public ArgArgument(string name, ValueObject value = null) : base(name, value) { }
public ArgCommand(string name, ValueObject value = null) : base(name, value ?? new ValueObject(false)) { }
protected ArgLeafPattern(string name, ValueObject value = null) { _name = name; Value = value; }