improve macro `down_cast`
If this macro were an inline function, it could contain the
assert() (or rather
SPOT_ASSERT) when compiling in debug mode. That would remove a lot of assertion from the code base.
It would also be easy to specialize
down_cast for shared pointer.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information