I forgot about this until now - when I was a kid we had a block of cement, basically a patio stone, sitting on top of the woodstove. When I went to bed, since my room was unheated, I would wrap the cement block in cloth and put it by my feet in bed. I kind of miss that cozy feeling, but then at the same time I don't miss how cold the rest of the room was. If I woke up to a 50 degree room now I'd probably never want to get out of bed!
It wouldn't play nice with water and microwave ovens. I guess you could heat it on the stove or in a regular oven instead.
There used to be such device you’d heat up in boiling water.