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)))