Perhaps I'm missing something, but why is this a separate method instead of just using valueOf?