boost variant with shrink