added more examples. option types and discriminated unions