ensure bounds are promoted on derived type otherwise bounds from super could appear...