code: func (p *PilosaKeyMapper) MapResult(field string, res interface{}) (mappedRes interface{}, err error) {
  	log.Printf("mapping result: '%#v'", res)
  	defer func() {
  		log.Printf("mapped result: '%#v'", mappedRes)
  	}()
  	switch result := res.(type) {
  	case uint64:
  		// Count
  		mappedRes = result
  	case []interface{}:
  		return p.mapSliceInterfaceResult(field, result)
  	case map[string]interface{}:
  		// Bitmap/Intersect/Difference/Union
  		return p.mapBitmapResult(field, result)
  	case bool:
  		// SetBit/ClearBit
  		mappedRes = result
  	default:
  		// Range? SetRowAttrs?
  		mappedRes = result
  	}
  	return mappedRes, nil
  }
docs: // MapResult converts the result of a single top level query (one element of
  // QueryResponse.Results) to its mapped counterpart.