types on public methods, otherwise binary compat is very hard.