Generic programming for indexed datatypes - aes, J; Jeuring, J (ACM, 2011)