// doesn't LHS-curry
static BasicLogicRule ai_parseBasicLogicRule(S s) {
  PairS p = ai_splitAtFirstDoubleArrow(s);
  if (p == null) null;
  ret BasicLogicRule(
    ai_parseAmpersandToAndObjects(p.a),
    ai_parseAmpersandToAndObjects(p.b));
}