Typedef'd vectors and VLA's that use shared pointers