diff --git a/src/types.jl b/src/types.jl index 429dc07d..91cb5c8f 100644 --- a/src/types.jl +++ b/src/types.jl @@ -94,7 +94,10 @@ const SIMPLIFIED = 0x01 << 0 function ConstructionBase.setproperties(obj::BasicSymbolic{T}, patch::NamedTuple)::BasicSymbolic{T} where T nt = getproperties(obj) nt_new = merge(nt, patch) - Unityper.rt_constructor(obj){T}(;nt_new...) + @compactified obj::BasicSymbolic begin + Sym => Sym{T}(nt_new.name; nt_new...) + _ => Unityper.rt_constructor(obj){T}(;nt_new...) + end end ###