The `Func0` is used in this class (and a little in the others) in a raw manner. Can it be given a correct generic?

If it legitimately should not have a generic type assigned, then I'd prefer that all uses be annotated to suppress the warnings so that IDEs/compilers don't complain. Also, if the warnings are there people won't know if it's on purpose or a mistake.