def METHOD_NAME(self, param_dict: dict) -> Union["EvolvedOp", ListOp]:
    param_value = self.coeff
    if isinstance(self.coeff, ParameterExpression):
        unrolled_dict = self._unroll_param_dict(param_dict)
        if isinstance(unrolled_dict, list):
            return ListOp([self.METHOD_NAME(param_dict) for param_dict in unrolled_dict])
        if self.coeff.parameters <= set(unrolled_dict.keys()):
            binds = {param: unrolled_dict[param] for param in self.coeff.parameters}
            param_value = float(self.coeff.bind(binds))
    return EvolvedOp(self.primitive.bind_parameters(param_dict), coeff=param_value)