disable functions which use common_type with SFINAE for MSC
implements common_type with SFINAE, still disabled on MSC
implements vector matrix multiplication