TypeLoadException: IReadOnlyTree[T] Violates the constrains of Type "T"

I get an error with a Type that implements IReadOnlyTree in combination with Channel.

2026/06/18 13:28:18.629 [CRT] (App) 0 SmoothOperator_Editor GenericArguments[0], 'System.Object', on 'VL.Lib.Collections.Trees+IReadOnlyTree`1[T]' violates the constraint of type 'T'.

System.ArgumentException: GenericArguments[0], 'System.Object', on 'VL.Lib.Collections.Trees+IReadOnlyTree`1[T]' violates the constraint of type 'T'.
 ---> System.TypeLoadException: GenericArguments[0], 'System.Object', on 'VL.Lib.Collections.Trees+IReadOnlyTree`1[T]' violates the constraint of type parameter 'T'.
   at System.RuntimeTypeHandle.Instantiate(QCallTypeHandle handle, IntPtr* pInst, Int32 numGenericArgs, ObjectHandleOnStack type)
   at System.RuntimeType.MakeGenericType(Type[] instantiation)
   --- End of inner exception stack trace ---
   at System.RuntimeType.ValidateGenericArguments(MemberInfo definition, RuntimeType[] genericArguments, Exception e)
   at System.RuntimeType.MakeGenericType(Type[] instantiation)
   at VL.AppServices.VLFactory.DoGetServiceFactory(Type forType, Type serviceType)
   at VL.Core.IVLFactory.GetServiceFactory(Type forType, Type serviceType)
   at VL.UI.ViewerFactoryHelpers.<>c__DisplayClass4_0.<RegisterGenericViewer>b__0(Object v)
   at VL.Core.VLFactoryExtensions.TryCreateService[TService](IVLFactory factory, Object value, Type forType, TService defaultService, TService& service)
   at _HDE_WidgetsAndViewers_.HDE.Viewers.TwoStepAdaptiveViewer_C.TouchBase(Object Value_In, ViewerContext Context_In, Boolean Recreate_In)
   at _HDE_WidgetsAndViewers_.HDE.Viewers.AdaptiveViewer_C.Update(Object Value_In, Boolean Recreate_In, ViewerContext Context_In, IWidget& Widget_Out)
   at _HDE_WidgetsAndViewers_.HDE.Viewers.ChannelViewer_C.<>c__DisplayClass3_0.<Update_>b__0(Object stateInput_20, IReadOnlyList`1 inputs_21, IReadOnlyList`1 incomingLinks_22, Object& stateOutput_23, Spread`1& outputs_24)
   at VL.AppServices.CompilerServices.CustomRegion.CustomRegionPatch.Update(IReadOnlyList`1 inputs, Spread`1& outputs, IReadOnlyList`1 incomingLinks)
   at _CoreLibBasics_.VL.CustomRegionPatch_P.UpdatePart2(IReadOnlyList`1 Incoming_Links_In, Spread`1& Outputs_Out)
   at _VL_Reactive_.Reactive.Channel.ForEach_Channel_P.<>c__DisplayClass3_1.<Update>b__2(Object s_77, Object Input_1_In_78)
   at VL.Lib.Reactive.ForEach`3.OnNext(TIn input)
   at VL.Lib.Reactive.ObservableInputBase`1.SafeOnNext(T input)
--- End of stack trace from previous location ---
   at VL.Lang.Platforms.RuntimeHost.Step()

Also this when I open the patch.

NullReferenceException: “Object reference not set to an instance of an object.”
StackTrace:
VL.Lib.Control.SynchronizerVLObjectInput3+<>c { internal uint <Update>b__3_0(TInput i) { ... } } VL.Lib.Control.MutableSynchronizer4 { public virtual VL.Lib.Control.ISynchronizer<, , , > Update(System.Collections.Generic.IEnumerable<> input, System.Func<, > keySelector, System.Func<, > create, System.Func<, , > updator, VL.Lib.Collections.Spread<>& outputs) { … } }
VL.Lib.Control.SynchronizerVLObjectInput3 { public VL.Lib.Control.SynchronizerVLObjectInput<, , > Update(System.Collections.Generic.IEnumerable<> input, System.Func<, > create, System.Func<, , > updator, VL.Lib.Collections.Spread<>& outputs) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.ToWidgetViews_P { public _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.ToWidgetViews_P Update(System.Collections.Generic.IEnumerable<VL.UI.IWidget> Input_In, VL.Lib.Collections.Spread<>& Outputs_Out) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Row_View_C { public _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Row_View_C Measure_(Stride.Core.Mathematics.Vector2 Min_Size_In, Stride.Core.Mathematics.Vector2 Max_Size_In, Stride.Core.Mathematics.Vector2& Size_Out) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Row_View_C { private virtual void VL.UI.IWidgetView.Measure(Stride.Core.Mathematics.Vector2 minSize, Stride.Core.Mathematics.Vector2 maxSize, Stride.Core.Mathematics.Vector2& size) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Flexible_View_C { public _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Flexible_View_C Measure_(Stride.Core.Mathematics.Vector2 Min_Size_In, Stride.Core.Mathematics.Vector2 Max_Size_In, Stride.Core.Mathematics.Vector2& Size_Out) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Flexible_View_C { private virtual void VL.UI.IWidgetView.Measure(Stride.Core.Mathematics.Vector2 minSize, Stride.Core.Mathematics.Vector2 maxSize, Stride.Core.Mathematics.Vector2& size) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Column_View_C { public _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Column_View_C Measure_(Stride.Core.Mathematics.Vector2 Min_Size_In, Stride.Core.Mathematics.Vector2 Max_Size_In, Stride.Core.Mathematics.Vector2& Size_Out) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Column_View_C { private virtual void VL.UI.IWidgetView.Measure(Stride.Core.Mathematics.Vector2 minSize, Stride.Core.Mathematics.Vector2 maxSize, Stride.Core.Mathematics.Vector2& size) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.SmallOrBigWidget_View_C { public _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.SmallOrBigWidget_View_C Measure_(Stride.Core.Mathematics.Vector2 Min_Size_In, Stride.Core.Mathematics.Vector2 Max_Size_In, Stride.Core.Mathematics.Vector2& Size_Out) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.SmallOrBigWidget_View_C { private virtual void VL.UI.IWidgetView.Measure(Stride.Core.Mathematics.Vector2 minSize, Stride.Core.Mathematics.Vector2 maxSize, Stride.Core.Mathematics.Vector2& size) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.PanelWidget_View_C { public _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.PanelWidget_View_C Measure_(Stride.Core.Mathematics.Vector2 Min_Size_In, Stride.Core.Mathematics.Vector2 Max_Size_In, Stride.Core.Mathematics.Vector2& Size_Out) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.PanelWidget_View_C { private virtual void VL.UI.IWidgetView.Measure(Stride.Core.Mathematics.Vector2 minSize, Stride.Core.Mathematics.Vector2 maxSize, Stride.Core.Mathematics.Vector2& size) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Flexible_View_C { public _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Flexible_View_C Measure_(Stride.Core.Mathematics.Vector2 Min_Size_In, Stride.Core.Mathematics.Vector2 Max_Size_In, Stride.Core.Mathematics.Vector2& Size_Out) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.Flexible_View_C { private virtual void VL.UI.IWidgetView.Measure(Stride.Core.Mathematics.Vector2 minSize, Stride.Core.Mathematics.Vector2 maxSize, Stride.Core.Mathematics.Vector2& size) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.PanelWidget_View_C { public _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.PanelWidget_View_C Measure_(Stride.Core.Mathematics.Vector2 Min_Size_In, Stride.Core.Mathematics.Vector2 Max_Size_In, Stride.Core.Mathematics.Vector2& Size_Out) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.PanelWidget_View_C { private virtual void VL.UI.IWidgetView.Measure(Stride.Core.Mathematics.Vector2 minSize, Stride.Core.Mathematics.Vector2 maxSize, Stride.Core.Mathematics.Vector2& size) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.OptimalFitWidget_View_C { public _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.OptimalFitWidget_View_C Measure_(Stride.Core.Mathematics.Vector2 Min_Size_In, Stride.Core.Mathematics.Vector2 Max_Size_In, Stride.Core.Mathematics.Vector2& Size_Out) { ... } } _HDE_WidgetsAndViewers_.HDE.TooltipWidgets.OptimalFitWidget_View_C { private virtual void VL.UI.IWidgetView.Measure(Stride.Core.Mathematics.Vector2 minSize, Stride.Core.Mathematics.Vector2 maxSize, Stride.Core.Mathematics.Vector2& size) { ... } } VL.HDE.PatchEditor.Editors.ValueViewer+<>c__DisplayClass22_0 { internal void <Subscribe>b__0(System.Reactive.Unit _) { ... } } System.Reactive.Linq.ObservableImpl.Do1+OnNext+_ { public virtual void OnNext(TSource value) { … } }

I guess they errors are related,

Also when I hover the Channel it’s shown as “Classic Tooltip”