really no need to make this a trait, and no need to duplicate unboxToString either
some more subroutine tests