Developing libraries using software transactional memory