code: func (d Decoder) Unmarshal(data []byte, f Format) (interface{}, error) {
  	if data == nil {
  		switch f {
  		case CSV:
  			return make([][]string, 0), nil
  		default:
  			return make(map[string]interface{}), nil
  		}
  
  	}
  	var v interface{}
  	err := d.unmarshal(data, f, &v)
  
  	return v, err
  }
docs: // Unmarshal will unmarshall data in format f into an interface{}.
  // This is what's needed for Hugo's /data handling.