svalue_t * acquire(void *, svalue_t *(* )(void *));