I'd like to write my own functions that take ublas entities as arguments. Sometimes these will be ordinary ublas vectors, but sometimes they will be columns or rows projected from a larger matrix. What type should I use for the arguments of my functions? Of course my function shouldn't know or care whether its arguments are ordinary vectors or projected from something more complex.