added default type visitor which returns a default value for all visits
make def final