D
type key = K.t
type data
val name : string
val basename : key -> string
val compile : key -> string -> data