This function is inherently long, as it is dispatching on all valid function-like (IFn) Value types We could further separate each dispatch case into individual functions, but I don't think that's necessary; its not code that will be reused, and it doesn't make the code inherently shorter, it just moves it around In this case, though, I don't find its movement to be one that would increase clarity
(
&self,
environment: &Rc<Environment>,
args: &Rc<PersistentList>,
)
source not stored for this graph (policy: none)