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)