public static function of(int $year, int $month, int $day) : LocalDate
    {
        Field\Year::check($year);
        Field\MonthOfYear::check($month);
        Field\DayOfMonth::check($day, $month, $year);

        return new LocalDate($year, $month, $day);
    }