pub type NatFn = Rc<dyn Fn(&[Value]) -> R<Value>>;
a native function
pub struct NatFn { /* private fields */ }