Made a few special cases nicer

No need to go through a temporary array and make_vector when the normal
vector ctor suffices.