code: function isDefinitionLike(definition: any) {
    return isObject(definition) &&
      intersection(
        DEFINITION_FIELDS,
        Object.keys(definition).reduce((fields, field) => {
          if (isObject(definition[field])) {
            fields.push(field);
          }
          return fields;
        }, [])
      ).length;
  }
docs: Determines if the object looks like a definition enough
  to process it as one
  @param {*} definition