Merge change 5870

* changes:
  Add a type system.