fn get_all_reachable_polymorphic_targets_inclusive(
target_expr: &Expr,
target_type: &Option<String>,
target_generic_replacement: Option<GenericVariableMappingContext>,
visited_targets: Vec<String>
) -> Result<Vec<PolymorphicTarget>, Error>