// A module that MINTS a comptime enum via the compiler API and exports it.
#import "modules/std.sx";


Member :: struct { name: string; ty: Type; }
declare_type  :: (name: string) -> Type abi(.compiler);
register_type :: (handle: Type, kind: i64, members: []Member) -> Type abi(.compiler);

build_suit :: () -> Type {
    return register_type(declare_type("Suit"), 2, .[   // kind 2 = actual enum
        Member.{ name = "hearts", ty = void },
        Member.{ name = "spades", ty = void },
    ]);
}

Suit :: build_suit();
