code: func And(left, right ConditionBuilder, other ...ConditionBuilder) ConditionBuilder {
  	other = append([]ConditionBuilder{left, right}, other...)
  	return ConditionBuilder{
  		conditionList: other,
  		mode:          andCond,
  	}
  }
docs: // And returns a ConditionBuilder representing the logical AND clause of the
  // argument ConditionBuilders. The resulting ConditionBuilder can be used as a
  // part of other Condition Expressions or as an argument to the WithCondition()
  // method for the Builder struct. Note that And() can take a variadic number of
  // ConditionBuilders as arguments.
  //
  // Example:
  //
  //     // condition represents the condition where the item attribute "Name" is
  //     // equal to value "Generic Name" AND the item attribute "Age" is less
  //     // than value 40
  //     condition := expression.And(expression.Name("Name").Equal(expression.Value("Generic Name")), expression.Name("Age").LessThan(expression.Value(40)))
  //
  //     // Used in another Condition Expression
  //     anotherCondition := expression.Not(condition)
  //     // Used to make an Builder
  //     builder := expression.NewBuilder().WithCondition(condition)
  //
  // Expression Equivalent:
  //
  //     expression.And(expression.Name("Name").Equal(expression.Value("Generic Name")), expression.Name("Age").LessThan(expression.Value(40)))
  //     // Let #NAME, :name, and :forty be ExpressionAttributeName and
  //     // ExpressionAttributeValues representing the item attribute "Name", the
  //     // value "Generic Name", and the value 40
  //     "(#NAME = :name) AND (Age < :forty)"