Traits.jl?