 
   isalpha: ->
     alphas = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
-    if @__len__() == 0
+    if @__len__().value is 0
       return false
     else
       for c in @value

    else
      return @split(old).join(replacement)

  rfind: (sub, start = 0, end = @__len__()) ->
    lastIndex = @__slice__(start, end).lastIndexOf(sub)
    return lastIndex

  rindex: (sub, start = 0, end = @__len__()) ->
    lastIndex = substr.lastIndexOf(sub)
    if lastIndex == -1
      raise new ValueError "substring not found"
    else
      return lastIndex
      
  rjust: (width, fillchar = ' ') ->
    if width <= @__len__()
      return @value
    delta = width - @__len__()
    pad = (new Str('')).__mul__(delta)
    return pad + @value

  rpartition: (sep) ->
    splitValues = @rsplit(sep, 1)

      .__mul__(
        new Int Math.floor(delta, 2))
      .value
    if delta % 2 is 0
      new (type(@)) pad + @value + pad
    else
      new (type(@)) pad + @value + pad + fillchar
