Why wouldn't it compile? What is wrong with the API?