How can we maintain easy generics in the face of demand for a “safe” language?