make Language a datatype rather than a predicate