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