code: function slice(from, to, a)
  {
  	if (from < 0)
  	{
  		from += length(a);
  	}
  	if (to < 0)
  	{
  		to += length(a);
  	}
  	return sliceLeft(from, sliceRight(to, a));
  }
docs: TODO: currently, it slices the right, then the left. This can be optimized.