use zero(T) rather than convert(T,0) in quaternion example