They are unfortunately needed for the `@tailrec`.