Wip new views

Improve use of views  by providing a raw view api, and by giving the result types as late as possible for a view.