abstract type AbstractT end
struct ConcreteT <: AbstractT end
StructTypes.StructType(::Type{AbstractT}) = StructTypes.AbstractType()
StructTypes.StructType(::Type{ConcreteT}) = StructTypes.Struct()
StructTypes.subtypes(::Type{AbstractT}) = (conc=ConcreteT,)
StructTypes.subtypekey(::Type{AbstractT}) = :subt
JSON3.write(ConcreteT()) #-> "{}"