DO NOT USE THIS INSTANCE FOR LIVE DATA!!!!
I think the type() call should be optional. The compiler can also cast the data set directly and the result type is computed from the input types anyways.