view bounds and type bounds, not the same thing