Deriving Instances with Dependent Types

POPL 2020