Is a detailed documentation enough or should we have something like the following? ```julia abstract type AbstractSolverInstanceAttribute{T} end ... ``` and ```julia function getattribute(m, attr::AnyAttribute{T}, args...)::T ``` We can have shortcuts like `NumberOfVariables <: AbstractSolverInstanceAttribute{Int}`