pub(crate) fn get_polymorphic_targets( item_fn: &ItemFn ) -> Result<(ItemFn, Vec<PolymorphicTarget>), Error>