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