Using types to avoid redundant specialization

Abstract
No abstract available