Yeah, I think "types that generateS" is either a typo or sloppy English; it should be "types that generate".
I often wonder why it's so common for programmers with an acute awareness and mastery of syntax and grammar in programming languages to just throw all that precision and attention to detail out the window when it comes to natural language.