def METHOD_NAME(
    self,
    jit_lambda: JITLambda,
    public_arguments: PublicArguments,
    evaluation_keys: EvaluationKeys,
) -> PublicResult:
    """Call the JITLambda with public_arguments.
    Args:
        jit_lambda (JITLambda): A server lambda to call.
        public_arguments (PublicArguments): The arguments of the call.
        evaluation_keys (EvaluationKeys): Evalutation keys of the call.
    Raises:
        TypeError: if jit_lambda is not of type JITLambda
        TypeError: if public_arguments is not of type PublicArguments
        TypeError: if evaluation_keys is not of type EvaluationKeys
    Returns:
        PublicResult: the result of the call of the server lambda.
    """
    if not isinstance(jit_lambda, JITLambda):
        raise TypeError(
            f"jit_lambda must be of type JITLambda, not {type(jit_lambda)}"
        )
    if not isinstance(public_arguments, PublicArguments):
        raise TypeError(
            f"public_arguments must be of type PublicArguments, not {type(public_arguments)}"
        )
    if not isinstance(evaluation_keys, EvaluationKeys):
        raise TypeError(
            f"evaluation_keys must be of type EvaluationKeys, not {type(evaluation_keys)}"
        )
    return PublicResult.wrap(
        self.cpp().METHOD_NAME(
            jit_lambda.cpp(), public_arguments.cpp(), evaluation_keys.cpp()
        )
    )