Can't this whole static if/else chain be replaced by `return cast(SignedTypeOf!T)x;`?