you can make due with just one if clause on the elsize and string and then just add one to the size if its a string type for the sign.