Probably better to say `: SVD` instead of `: this.type` to make sure it looks reasonable in Java