docs: function () {
          var SomeType = $prototype ()
          var CompoThatRequires = $component ({
                                      $requires: {
                                          foo: SomeType,                      // requires foo to be instance of SomeType
                                          ffu: { a: 'number', b: 'string' },  // breakdown test
                                          bar: 'number',
                                          qux: ['number'],
                                          baz: _.not (_.isEmpty) } })         // custom requirement predicate
  
  
          var DerivedCompoThatRequiresMore =
              $extends (CompoThatRequires, {
                  $requires: { more: 'string' } })
  
  
          $assertFails (function () {
              new CompoThatRequires ({ baz: {} }) }) // $requires behaves like assertion in case of failure
  
          $assertFails (function () {
              new DerivedCompoThatRequiresMore ({ more: 'hey how about other requirements' }) })
  
          new DerivedCompoThatRequiresMore ({
              foo: new SomeType (),
              bar: 42,
              qux: [1,2,3],
              more: 'blah blah',
              ffu: { a: 1, b: '2' },
              baz: 'blahblah' }) }