Currently, a major building block of the API is defined as
abstract type AbstractObject{T <: Real, S <: AbstractShape{T}} end
This is a legacy of the early days. In the mean time, SingleShape and MultiShape types have been introduced, making the AbstractShape parameter meaningless. I recommend we get rid of it. There are currently no functions in BMO that use this parameter for dispatch anyways. This will be a breaking change ofc for all users that implement some form of <: AbstractObject.
Currently, a major building block of the API is defined as
This is a legacy of the early days. In the mean time,
SingleShapeandMultiShapetypes have been introduced, making theAbstractShapeparameter meaningless. I recommend we get rid of it. There are currently no functions in BMO that use this parameter for dispatch anyways. This will be a breaking change ofc for all users that implement some form of<: AbstractObject.