Finished the most common specializations. Determine whether Matrix vector parameter constructors should be seperate functions. Begin implementing generic operations.