code: private long firstDayOfMonth(
          int cycle,
          int yearOfCycle,
          EastAsianMonth month
      ) {
          long newYear = this.newYear(cycle, yearOfCycle);
          long approxStartOfMonth = this.newMoonOnOrAfter(newYear + (month.getNumber() - 1) * 29);
  
          if (month.equals(this.transform(approxStartOfMonth).getMonth())) {
              return approxStartOfMonth;
          } else {
              return this.newMoonOnOrAfter(approxStartOfMonth + 1);
          }
      }
docs: result in utc-days