`putIfAbsent` may fail, so should this return a boolean?