usecrate::ValueType;usestd::cell::RefCell;/// Describes a function's signature.
pubstructFunction{/// The type of value that the function returns.
pubret: ValueType,
/// The argument type definitions of the function.
pubargs:RefCell<Vec<ValueType>>}implFunction{pubfnnew()-> Function{
Function {
ret:ValueType::Void,
args:RefCell::new(Vec::new())}}}