//! Module over a [`Ring`]: an [`AddGrp`] equipped with scalar multiplication `r · m` by `R`.
//!
//! See: <https://en.wikipedia.org/wiki/Module_(mathematics)>
use ;
use crate;
/// Helper trait bundling [`AddGrpOps`] with scalar multiplication by `R`
/// (both `T * R` and `T * &R`) so [`RMod`] can require them via one HRTB.
/// A (left) module over a ring `R = Self::R`: an [`AddGrp`] with a distributive,
/// associative scalar action `r · m` (for `r ∈ R`, `m ∈ Self`).
///
/// See: <https://en.wikipedia.org/wiki/Module_(mathematics)>