Upper bound arg can be optional.