-// TODO: Define a new trait, `Power`, that has a method `power` that raises `self` to the power of `n`.
-// The trait definition and its implementations should be enough to get the tests to compile and pass.
+// TODO: Define a new trait, `Power`, that has a method `power` that raises `self`
+// to the power of `n`.
+// The trait definition and its implementations should be enough to get
+// the tests to compile and pass.
+//
+// Recommendation: you may be tempted to write a generic implementation to handle
+// all cases at once. However, this is fairly complicated and requires the use of
+// additional crates (i.e. `num-traits`).
+// Even then, it might be preferable to use a simple macro instead to avoid
+// the complexity of a highly generic implementation. Check out the
+// "Little book of Rust macros" (https://veykril.github.io/tlborm/) if you're
+// interested in learning more about it.
+// You don't have to though: it's perfectly okay to write three separate
+// implementations manually. Venture further only if you're curious.
#[cfg(test)]
mod tests {