cast optionally-signedly