more DRY, & +1 typefree unitest case