type
	ValueType = (vt_Bool, vt_Double, vt_String);

	// Хранит ty + объединение (boolv | doublev | stringv).
	ValueRec = record
	case ty: ValueType of
		vt_Bool: (boolv: boolean);
		vt_Double: (doublev: double);
		vt_String: (stringv: pchar);
	end;

begin
	writeln('sizeof(pointer) = ', sizeof(pointer));
	writeln('sizeof(ValueRec) = ', sizeof(ValueRec));
end.