pub type NaryFunctionInner = fn(_: (&mut Vec<Object>, &mut usize, &mut Vec<(i32, usize, i32)>, &mut i32), _: &Vec<Type>, _: &Type) -> Result<(), String>;