function Argument.GetAutocomplete(G)if G.Type.Autocomplete then return G.Type.Autocomplete(G:GetTransformedValue(#G.TransformedValues))else return{}end end function Argument.ParseValue(z,G)if z.Type.Parse then return z.Type.Parse(z:GetTransformedValue(G))else return z:GetTransformedValue(G)end end
--- Gets a list of all possible values that could match based on the current value.
function Argument:GetAutocomplete()
	if self.Type.Autocomplete then
		return self.Type.Autocomplete(self:GetTransformedValue(#self.TransformedValues))
	else
		return {}
	end
end

function Argument:ParseValue(i)
	if self.Type.Parse then
		return self.Type.Parse(self:GetTransformedValue(i))
	else
		return self:GetTransformedValue(i)
	end
end
