pool := sync.Pool{
        New: func() any { return 42 }
    }
    a := pool.Get()
    pool.Put("hello")
    pool.Put(struct{}{})
    b := pool.Get()
    c := pool.Get()
    d := pool.Get()
    fmt.Println(a, b, c, d)
Is a type system all that helpful if you have to keep turning it off any time you want to do something even slightly interesting?
Also I can't help but notice that there's no API to reset values to some initialized default. Shouldn't there be some sort of (perhaps optional) `Clear` callback that resets values back to a sane default, rather than forcing every caller to remember to do so themselves?