Unity script type system bug or it was intended?

In Unity script, as opposite to c#, a programmer may access static type members trough the instance reference of that type. If I have a instance method Foo in base class A and static method Foo in class B extends class A, the call to the instance method Foo using instance reference of type B leads to SIGSEGV on Mac OS X because actually the static method Foo of class B is called recursively.

class A
{
  function Foo() { }
}

class B extends A
{
  private static instance : B = new B();
  static function Foo()
  {
    instance.Foo();  // here the segfault happens
  }
}

Or should I place this topic into coding forum? I don’t know where to go with it…