In Gatlab, we are taking a "bare values" (#29) first approach to instances of theories. However, it is also often convenient to have wrapper structs that capture the instance, enabling the use of multiple dispatch without auxiliary arguments. Such wrapper structs are frequently in Catlab (#57).
Given a bare-values instance, It should be possible to automatically generate a struct and associated methods for that instance.
In Gatlab, we are taking a "bare values" (#29) first approach to instances of theories. However, it is also often convenient to have wrapper structs that capture the instance, enabling the use of multiple dispatch without auxiliary arguments. Such wrapper structs are frequently in Catlab (#57).
Given a bare-values instance, It should be possible to automatically generate a struct and associated methods for that instance.