struct Some(value: String) {} struct None() {} sumtype Option = Some | None; pub fun main() ! Io -> Unit { printOption!(Some("hello, world!")); printOption!(None()); } fun printOption(option: Option) !Io -> Unit { when (option) { is Some { print!("Some("); print!(option.value); print!(")\n"); } is None { print!("None\n"); } } }