pub trait TypeDowncast {
    // Required methods
    fn as_array(&self, db: &dyn AnalyzerDb) -> Option<Array>;
    fn as_tuple(&self, db: &dyn AnalyzerDb) -> Option<Tuple>;
    fn as_string(&self, db: &dyn AnalyzerDb) -> Option<FeString>;
    fn as_map(&self, db: &dyn AnalyzerDb) -> Option<Map>;
    fn as_int(&self, db: &dyn AnalyzerDb) -> Option<Integer>;
}