wibble
convert functional dependencies to type families