def +( offset )
      if offset > @size
        raise "Offset must not be more than #{@size} (but was #{offset})"
      end
      mark, size = self, @size - offset
      retval = orig_plus offset
      retval.instance_eval { @mark, @size = mark, size }
      retval
    end
def +( offset )
      if offset > @size
        raise "Offset must not be more than #{@size} (but was #{offset})"
      end
      mark, size = self, @size - offset
      retval = orig_plus offset
      retval.instance_eval { @mark, @size = mark, size }
      retval
    end
Operator for doing pointer arithmetic

 @example Pointer arithmetic
   m = Malloc.new 4
   # Malloc(4)
   m.write 'abcd'
   n = m + 2
   # Malloc(2)
   n.read 2
   # "cd"

 @param [Integer] offset Non-negative offset for pointer.
 @return [Malloc] A new Malloc object.