# So this would work? type OnOff = bool type Offset = int type ActionKind = enum A, B Action = object case kind: ActionKind of A: onoff: OnOff of B: offset: Offset type FancyActionKind = enum A, C FancyAction = object case kind: FancyActionKind of A: onoff: OnOff of C: fancy_offset: float # I guess that makes sense