simple parser version 2:  extend to deal with bounded type parameters and bounded wildcard type arguments; doesn't require new tokenizer