IData
type key
type data
val name : string
val basename : key -> string
val compile : key -> string -> data