         if dow? and dowNames[result.getDay()] isnt dow
             throw new Error("Wrong day of week")
         return result
-    
+
     parseFuzzyFutureDate: (input) ->
         result = new Date
         dateString = input.slice(0, 1).toUpperCase() + input.slice(1).toLowerCase()

]

pluralify = (rawAmount, singular) ->
    amount = Math.ceil(rawAmount, 0)
    if amount is 1
        "#{amount} #{singular}"
    else

        date = new Date(fakeDate)
        dowFragment = if dow then "#{dowNames[date.getDay()]}, " else ""
        "#{dowFragment}#{monthNames[date.getMonth()]} #{date.getDate()}, #{date.getFullYear()}"

    getDowName: (dow) -> dowNames[dow]

    msDifferential: (later) -> new Date(later).getTime() - (new Date()).getTime()

    isFuture: (later) -> @msDifferential(later) > 0

    fuzzyDifferential: (later) ->
        diff = @msDifferential(later)
        diff = -diff unless @isFuture(later)
