Wont compile, dynamic_pointer_cast