fix #351 - arithmetic is slightly different for type arguments