By unifying code paths into one all-args constructor we get less uninitialized variables as well.
mentioned in commit 7f441bf1