We might need to have something like inheriting the generated type(might be difficult for a future post processor for turning into a graaljs script), this requires protected visibility. If we add protected, why not just go all the way to private as well.