class Conjunction implements BoolExpr {

  public static BoolExpr of(Iterable<BoolExpr> exprs) {
    List<BoolExpr> l = ImmutableList.copyOf(exprs);
    if (l.isEmpty()) {
      return TrueExpr.instance();
    }
    return new Conjunction(l);
  }

  private  Conjunction(List<BoolExpr> conjuncts);

}