code: func (c InMemoryCache) convertTypeToUint64(key string) (newValue uint64, err error) {
  	v, found := c.cache.Get(key)
  	if !found {
  		return newValue, ErrCacheMiss
  	}
  
  	switch v.(type) {
  	case int:
  		newValue = uint64(v.(int))
  	case int8:
  		newValue = uint64(v.(int8))
  	case int16:
  		newValue = uint64(v.(int16))
  	case int32:
  		newValue = uint64(v.(int32))
  	case int64:
  		newValue = uint64(v.(int64))
  	case uint:
  		newValue = uint64(v.(uint))
  	case uintptr:
  		newValue = uint64(v.(uintptr))
  	case uint8:
  		newValue = uint64(v.(uint8))
  	case uint16:
  		newValue = uint64(v.(uint16))
  	case uint32:
  		newValue = uint64(v.(uint32))
  	case uint64:
  		newValue = uint64(v.(uint64))
  	case float32:
  		newValue = uint64(v.(float32))
  	case float64:
  		newValue = uint64(v.(float64))
  	default:
  		err = ErrInvalidValue
  	}
  	return
  }
docs: // Fetches and returns the converted type to a uint64