allow creating vectors from ndarrays, and setting vectors from lists and ndarrays