Add size varying support, cleanup vector shrinking