Adding more types and factoring out code