A reason for cast(signed) is to discourage the user from writing:
cast(int) x;
Because we can't grep for the word "signed",
We have to search for "cast( )" only!
cast(int) x // hides the intention, hard to search for!
Yet we can easily grep for:
cast(signed)