domains can return their range through a template method