upward extension of type class