if (typeof value !== 'object' || value === null || !isPlainObject(value)) {
      return failure('value is not an object', path);
    }
checker to assert if a mixed value is a string-keyed dict of
values determined by a provided checker