use crateStdlibError;
use crateValue;
/// Trait implemented by each PEPL stdlib module.
///
/// Every module (core, math, string, list, etc.) implements this trait.
/// The evaluator dispatches `module.function(args...)` calls through it.
///
/// # Example
///
/// ```ignore
/// let core_mod = CoreModule::new();
/// let result = core_mod.call("type_of", vec![Value::Number(42.0)])?;
/// assert_eq!(result, Value::String("number".into()));
/// ```