#[derive(Debug, thiserror::Error)]
pub enum CallFunctionError {
#[error("Invalid number of arguments, expected {expected}, got {actual}")]
InvalidNumberOfArguments {
expected: usize,
actual: usize,
},
#[error("Invalid argument {arg_name}: {error}")]
InvalidArgument {
arg_name: String,
error: String,
},
#[error("Function not found: {0}")]
NotFound(String),
#[error("{0}")]
Other(String),
}