The comparison of lengths() seems to be completely unnecessary. Also document that Shrink() always returns true.