Changed Exception on invalid type to raise TypeError instead of generic Exception
Added Robertsons multiplication algorithm