         assert _.all(produces, _.isString), notString
         @$produces = (@$produces or []).concat produces
         @emit.call @, "produces", @$produces, arguments
+        assert _.isArray @$produces; return @$produces
 
     # Either get or set the consumes information of the method that
     # is being described by this document. If you do no supply any

            username: username
            path: path

    # Either get or set the relevant information of the method that
    # is being described by this document. If you do no supply any
    # arguments this method will return already described failures.

        assert _.isObject(schemas), noSchemas
        assert _.extend (@$schemas ?= {}), schemas
        @emit.call this, "schemas", arguments...
        assert @$schemas; return @$schemas
