import printer.(println); [T when Enum?(T)] stringToEnum(#T, s) { ..for (i in staticIntegers(EnumMemberCount(T))) { if (s == EnumMemberName(T, i)) { return Maybe(intToEnum(T, i)); } } return nothing(T); } enum FooEnum (FOO, BAR, BAZ); main() { println(stringToEnum(FooEnum, "FOO")); println(stringToEnum(FooEnum, "BAZ")); println(stringToEnum(FooEnum, "garbl")); }