add SILICIUM_UNREACHABLE
fix wrong return type for try_get_ptr
add visitation syntax without most of the boilerplate that static_visitor requires