Document why `required_crubit_features` is separate from `rs_type_kind()`.

This is not prescriptive, just descriptive. Maybe we should do the outlined refactoring, I'm not sure yet. It would've prevented the linked bug...

PiperOrigin-RevId: 660117615
Change-Id: I83ce2680841cec6aa553c9d2efaf3cc2fcc10aee
diff --git a/rs_bindings_from_cc/generate_bindings/rs_snippet.rs b/rs_bindings_from_cc/generate_bindings/rs_snippet.rs
index c585314..c1eb70b 100644
--- a/rs_bindings_from_cc/generate_bindings/rs_snippet.rs
+++ b/rs_bindings_from_cc/generate_bindings/rs_snippet.rs
@@ -396,6 +396,13 @@
     /// type, then the function or type alias will itself also require this
     /// feature. However, in the case of fields inside compound data types,
     /// only those fields require the feature, not the entire type.
+    ///
+    /// This isn't inlined into `db.rs_type_kind()` because `db.rs_type_kind()`
+    /// does not know which target is requesting the type, and it's a bit
+    /// tricky. Consider that a templated item needs to perform this check
+    /// for both the template definition and its instantiation, and so both
+    /// would need to be passed in to rs_type_kind() in order to be able to
+    /// merge these two functions.
     pub fn required_crubit_features(
         &self,
         enabled_features: flagset::FlagSet<ir::CrubitFeature>,