 
     throw new Error('invalid range') if isNaN(@range[0]) or isNaN(@range[1])
 
-  toString: ->
-    [r0, r1] = @range
-    r0 = r0.toISOString() if r0 instanceof Date
-    r1 = r1.toISOString() if r1 instanceof Date
-    return "#{@attribute} is within #{r0} and #{r1}"
-
   valueOf: ->
     filter = super
     filter.attribute = @attribute

  _getInValues: ->
    return @values

  toString: ->
    switch @values.length
      when 0 then return "Nothing"
      when 1 then return "#{@attribute} is #{@values[0]}"
      when 2 then return "#{@attribute} is either #{@values[0]} or #{@values[1]}"
      else return "#{@attribute} is one of: #{specialJoin(@values, ', ', ', or ')}"

  valueOf: ->
    filter = super
    filter.attribute = @attribute

    super(arguments[0] or {}, dummyObject)
    @_ensureType('true')

  getFilterFn: ->
    return -> true

