> >> > IMO the *only* way to define String#prev is such that
> >> > aString.prev.succ == aString.succ.prev == aString.
> >> 
> >> This is not enough to uniquely define String#prev. 
> >> 
> >> 	"09".succ == "9".succ
> > 
> > Ehh... bad number/string to use as an example:
> 
> The question is what "10".prev should be. String#succ is not
> injective and thus does not have an inverse.

Whoops.  Yeah, I realized that when I went out for a run....  it's
like that with everything though.

> I don't think it is surjective either. There is no x such that
> 
> 	x.succ == "a"
> 
> right? So what should "a".prev be?

irb(main):001:0> 256.chr
RangeError: 256 out of char range
        from (irb):1:in `chr'
        from (irb):1

-- 
Sean Chittenden