Crear una concatenación completamente dependiente

Un buen hecho verdadero sobre la concatenación es que si conozco dos variables en la ecuación: a ++ b = c Entonces sé el tercero. Me gustaría capturar esta idea en mi propia concat, así que uso una dependencia funcional. {-# Language DataKinds, GADTs, FlexibleContexts, FlexibleInstances,...