/** * @param $function * @param array $args * * @return mixed * @throws ImplementationNotFoundException * @throws TypeMismatchException * @throws UnresolveableArgumentException * @throws ValueNotFoundException */ public function callFunction($function, array $args = []) { return $this->rethrowExceptions(function () use($function, $args) { return $this->reflector->resolveFunction($this, $function, $args); }); }