Type-level Programming with Match Types. | AMiner