Well at least we caught that you meant for `panes` to be private. In that case, the code conforms to the style guide.

Regarding type inference: there is _very_ limited type inference in Dart; currently it is limited to `var` declared local variables. In fact, as is mentioned [here](https://www.dartlang.org/support/faq.html#q-does-dart-have-type-inference), the Dart language spec does not mandate type inference at all.

There is **no type inference for fields, even if they are declared `final` and initialized with a constant**: e.g. `list` in 

    final list = <int>[1, 2, 3];

has type `List<dynamic>`.  Declaring it like this:

    final List<int> list = <int>[1, 2, 3];
    list.add('a');

allows the compiler to report the error rather than try to catch it at run-time.  But you probably knew this.