> -- PGR писал(а):
> Действительно удобная штука. Как его ещё не стянули в другие языки...
Есть что-то похожее:
## Код:
```
namespace Test.With
  using System.Console

  class A
    public this() { a = 5 }
    public mutable a: int

  class B: A
    public this() { b = 3.14 }
    public mutable b: double
  
  class C: B
    public this() { c = "ccc" }
    public mutable c: string
  
  module Test
    MatchTest(a: A): void
      match (a)
        | x is C => WriteLine(x.c)
        | x is B => WriteLine(x.b)
        | x is A => WriteLine(x.a)
        | _ => ()
  
    Main(): void
      def a = B()
      MatchTest(a)
```
