void f(dynamic e) {
e()<int>();
}

void[KeywordToken] f[StringToken]([BeginToken]dynamic[KeywordToken] e[StringToken])[SimpleToken] {[BeginToken]
e[StringToken]([BeginToken])[SimpleToken]<[BeginToken]int[StringToken]>[SimpleToken]([BeginToken])[SimpleToken];[SimpleToken]
}[SimpleToken][SimpleToken]
