*/
export function implies(p: ContextKeyExpression, q: ContextKeyExpression): boolean {
if (p.type === ContextKeyExprType.False || q.type === ContextKeyExprType.True) {
// false implies anything
// anything implies true
return true;
}
if (p.type === ContextKeyExprType.Or) {
if (q.type === ContextKeyExprType.Or) {
// `a || b || c` can only imply something like `a || b || c || d`