factor out Signature#text_width