Field = ref object kind*: FieldKind expr*: Expr
FieldKind = enum fkYear, fkMonth, fkDayOfMonth, fkDayOfWeek, fkHour, fkMinute, fkSecond
proc getValue(field: Field; dt: DateTime): int {....raises: [], tags: [], forbids: [].}
proc maxValue(field: Field; dt: DateTime): int {....raises: [], tags: [], forbids: [].}
proc minValue(field: Field; dt: DateTime): int {....raises: [], tags: [], forbids: [].}