class Samovar::Option

def parse(input, parent = nil, default = nil)

def parse(input, parent = nil, default = nil)
	result = @flags.parse(input)
	if result != nil
		@value.nil? ? coerce(result) : @value
	elsif default ||= @default
		return default
	elsif @required
		raise MissingValueError.new(parent, self)
	end
end