Can put ngModel on a li?
This passes our analyzer, and, almost certainly shouldn't:
<li [(ngModel)]="x">...<li>
Seems like anything can have ngModel.
As a short term solution, we could make a whitelist (or even a blacklist) of elements where an ngModel can/cannot go.
I have a feeling that the reason why ngModel can't go on a li is that ngModel uses like @HostAttribute or something. In that case, rather than use a whitelist/blacklist, we can check that the attribute its used on has the targeted attribute.
This is actually a pretty big deal, would make a big case for validating these next-level annotations in angular, which I believe are in the cheatsheet, as unsupported.
ngModel can go on any element that is either a native input element or where a component or directive is applied that implements ControlValueAccessor
See also https://github.com/dart-lang/angular2/blob/1b71b61f73f43adcede21470c62e943bed635f69/lib/src/common/forms/directives/ng_model.dart#L76 where NG_VALUE_ACCESSOR is the only non-optional dependency
ControlValueAccessors are registered with NG_VALUE_ACCESSOR (see https://github.com/dart-lang/angular2/blob/164b20a4cd06a1953efcc3ce15d302b31557570e/lib/src/common/forms/directives/default_value_accessor.dart#L8 for an example)