public object OpGreaterThan(object lv, object rv)
{
if (lv is BikeNumber && rv is BikeNumber)
return new BikeBoolean(((BikeNumber)lv).Value > ((BikeNumber)rv).Value);
throw ErrorFactory.CreateTypeError(string.Format("Invalid operand type: {0} > {1}", lv, rv));
}