I’d like to define some types similar to the following simplified types. However, since T3’s type is determined by U, I’d rather not have to specify T when writing its type. Is there a way to do this?
abstract type T1{T}; end
mutable struct T2{T} <: T1{T}; x::T; end
mutable struct T3{T, U <: T1{T}} <: T1{T}; x::U; end
The motivation is that I need nested compositions of types such as T3{T,T3{T,T2{T}}}
and don’t want to keep repeating T.