* Use e.get_name instead of dynamic_cast
Also use std::static_pointer_cast instead of std::dynamic_pointer_cast
Fixes#466
* feat: Allow RTTI to be turned off
* ci: Fix CXX flags
* doc: Adding update to book
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>