Hey,
Restangular does indeed return a promise when you do baseAccounts.getList().
The thing is that Angular's HTML $watch for the template know how to work with Promises. So, while the promise is not resolved, you won't get anything shown in the HTML. As soon as it's resolved, Angular calls the then by itself and then renders the data, which is quite awesome :).
The only thing I've added are "enhanced promises".
It means that if you do accounts.getList().get('length'), it'll return the promise of the list, to a promise of a long value for the length :).
Bests,
Gonto