implements its own valuetype (s) method; the default is removed from range and now only has a pure virutal there