Related discussion: https://programming.dev/post/136548