I find it strange that it is the caller of, for example, makeJustin that need to know that Justin inherits from JSON. Clearly, the actual contents of makeJustin strongly rely on this assumption. Applies to all grammar inheritance cases. Can this be refactored well? Would it have a non-obvious cost?
Originally posted by @erights in #71 (review)