You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: func_expression.go
    path of file: ./repos/jet/internal/jet
    
    the code of the file until where you have to start completion: package jet

// AND function adds AND operator between expressions. This function can be used, instead of method AND,
// to have a better inlining of a complex condition in the Go code and in the
    
func NewFunc(name string, expressions []Expression, parent Expression) *funcExpressionImpl {
	funcExp := &funcExpressionImpl{
		name:       name,
		parameters: parametersSerializer(expressions),
	}

	if parent != nil {
		funcExp.ExpressionInterfaceImpl.Parent = parent
	} else {
		funcExp.ExpressionInterfaceImpl.Parent = funcExp
	}

	return funcExp
}