listing is not tail recursive, but size count is
added one more kind of test about removal
moved a loop inside an if where it belongs