More strict template visitation method definition.

It now accepts only arithmetic types by value.
Code prettifying (I think).