implement type() in super class where possible