Right, it's because you are return an explicit `typeof(this)`. return `auto`, and you can mark it as `inout`.