Ensuring string concatenation not dependent on toString()