2 was good, thanks. 4 needs a tad more thought imho, returning an impl T does have its place, because it makes changing the return type of the function a non-breaking change.
2was good, thanks.4needs a tad more thought imho, returning animpl Tdoes have its place, because it makes changing the return type of the function a non-breaking change.