would be nice to have `@NotNull` on arguments too