It is not very intuitive for the new 3D programmers to use vector2d/3d/4d. It is confusing. For example,
When you want to do a affine transformation with translation inside over a 3D vector (not a point), we need to use THREE.Vector4d to achieve that. It is not intuitive.
I think it is good to differentiate the Vector and Point class to make the concepts clearer.