Hey, thanks mate! I can't get the: a.kind is Circle Run
to work. But i got this: type ShapeKind = enum Circle,Rectangle ShapeProps = tuple[shape:string,area,perimeter:float] CircleShape = concept a a.r proc buildCircleProps(a:CircleShape):ShapeProps RectangleShape = concept a a.w a.h proc buildRectangleProps(a:RectangleShape):ShapeProps Run And it works! You can use: proc buildRectangleProps(a:Shape):ShapeProps Run as you did, or: proc buildRectangleProps(a:RectangleShape):ShapeProps Run either way it works... I had tried variations on that, but apparently never happened on the complete deal - I'm such an idiot at times... Thanks again for you generous help, and for the Iface tip. Though I'd rather use concepts, it's nice to know it's there.