anchor.diff:  		append(value);
   	}
   
  -	operator new (cref cstring: string, size: u32)
  -	{
  -		append(cstring.m_cstr, size.pod);
  -	}
  -
  -	operator new (cstring: __pointer, size: __u32)
  -	{
  -		append(cstring, size);
  -	}
  -
  -	operator new (cstring: __pointer, cref size: u32)
  -	{
  -		append(cstring, size.pod);
  +	operator new (cref str: string, size: u32)
  +	{
  +		var clen = str.size;
  +		append(str.m_cstr, (if size < clen then size else clen));
  +	}
  +
  +	operator new (cref str: string, offset: u32)
  +	{
  +		var clen = str.size;
  +		if offset < clen then
  +			append(str.m_cstr + offset.pod, clen - offset);
  +	}
  +
  +	operator new (cref str: string, size: u32, offset: u32)
  +	{
  +		var clen = str.size;
  +		if offset < clen then
  +		{
  +			size += offset;
  +			if size > clen then
  +				size = clen;
  +			size -= offset;
  +			append(str.m_cstr + offset.pod, size);
  +		}
  +	}
  +
  +	operator new (str: __pointer, size: __u32)
  +	{
  +		append(str, size);
  +	}
  +
  +	operator new (str: __pointer, cref size: u32)
  +	{
  +		append(str, size.pod);
  +	}
  +
  +	operator clone(cref rhs: string)
  +	{
  +		 append(rhs);
   	}
   
   	operator dispose
   	{
   		std.memory.dispose(m_cstr, 0__u64 + m_capacity);
  -	}
  -
  -	operator clone(cref rhs: string)
  -	{
  -		 append(rhs);
   	}
   	//@}
   
  
positive.code: 
  
  	func lastIndex(cref ascii: std.Ascii): u32
  		-> lastIndex(size, ascii);
  
  	func lastIndex(offset: u32, cref ascii: std.Ascii): u32
  	{
  
negative.code: 	func prepend(n: bool)
  		-> prepend(n.pod);
  
  	#[nosuggest] func prepend(str: __pointer, size: __u32)
  		-> insert(0__u32, str, size);
  
  
  	func prepend(ascii: std.Ascii)
  