enumStatus{empty,claimed:str.utf8,locked}structLocker{number:int32,status:Status}fndescribe[lent'l':Locker]->str.utf8{match'l'.status{empty{return"free";}claimed'who'{return"taken by "++'who';}locked{return"locked";}}}MAIN{let'lockers':=[Locker[number=1,status=Status.empty],Locker[number=2,status=Status.claimed["Tankun"]],Locker[number=3,status=Status.locked]];for'l'inlend'lockers'{std::print.useful["#",'l'.number,": ",describe[lend'l'],newln];}let's':=Status.locked;if's'equal_toStatus.locked{std::print.stored["== works on a case",newln];}let't':=Status.claimed["Bo"];std::print.stored['t',newln];}
Output
#1: free
#2: taken by Tankun
#3: locked
== works on a case
Status.claimed[Bo]