you could add a bit more documentation, especially that the return value will be cached internally (it's part of the public API, right?).