     class Author extends Backbone.Model
       model_name: 'Author'
       schema:
+        id: [manual: true]
         books: ['hasMany', Book]
       sync: BackboneORM.sync(Author)
 

    house = new Building({id: 'house-6-1', name: 'Home Sweet Home', occupants: [person1, person2]})

    models = [person1, person2]
    model.save(->) for model in models
    model.fetchRelated(->) for model in models

    view_model_person1 = kb.viewModel(person1)
    view_model_house1 = kb.viewModel(house)

    # check friends
    assert.equal(view_model_person1.friends().length, 1, 'person1 has one friend')
    assert.equal(view_model_person1.friends()[0].name(), 'Mommy', 'person1 is friends with Mommy')
    assert.equal(view_model_person1.best_friends_with_me()[0].name(), 'Mommy', 'person1 is best friends with Mommy')

    # check occupants
    assert.equal(view_model_person1.occupies().name(), 'Home Sweet Home', 'person1 occupies home sweet home')
    assert.equal(view_model_house1.occupants().length, 2, 'house has two occupants')
    assert.equal(view_model_house1.occupants()[0].name(), 'Daddy', 'house has Daddy in it')

    # release
    kb.release(view_model_person1)
    kb.release(view_model_house1)

    assert.equal(kb.statistics.registeredStatsString('all released'), 'all released', "Cleanup: stats"); kb.statistics = null
    done()

  it '7a. Inferring observable types: late binding', (done) ->
    kb.statistics = new kb.Statistics() # turn on stats

    class Book extends Backbone.Model
      model_name: 'Book'
      schema:
        id: [manual: true]
        author: -> ['belongsTo', Author]
      sync: BackboneORM.sync(Book)

