let _SCHALA_VERSION = "0.1.0" type Option = Some(T) | None type Ord = LT | EQ | GT @register_builtin(print) fn print(arg) { } @register_builtin(println) fn println(arg) { } @register_builtin(getline) fn getline(arg) { } fn map(input: Option, func: Func): Option { if input { is Option::Some(x) then Option::Some(func(x)) is Option::None then Option::None } } type Complicated = Sunrise | Metal { black: bool, norwegian: bool } | Fella(String, Int)