code: func Chain(filters ...Op) OpFunc {
  	return func(in []byte) ([]byte, error) {
  		if filters == nil {
  			return in, nil
  		}
  
  		var err error
  		data := in
  		for _, filter := range filters {
  			data, err = filter.Apply(data)
  			if err != nil {
  				return nil, err
  			}
  		}
  
  		return data, nil
  	}
  }
docs: // Chain executes a series of operations in the order provided