internal SITree(TreeInfo <K> ti, Variants vt, Variant k, Variant v)
     : this(ti, vt, new SLeaf <Variant, Variant>(new ValueTuple <Variant, Variant>(k, v)))
 {
 }
 internal SITree(TreeInfo <K> ti, Variants vt) : base((SBucket <Variant, Variant>?)null)
 {
     info = ti; variant = vt;
 }
 SITree(TreeInfo <K> ti, Variants vt, SBucket <Variant, Variant> r) : base(r)
 {
     info    = ti;
     variant = vt;
 }
 internal SITree(TreeInfo <K> ti, Variants vt, Variant k, Variant v)
     : this(ti, vt, new SLeaf <Variant, Variant>((k, v)))