function combineStyles(theme, props, styleConfig, internalStyles = {}) {
  const config = maybeRun(styleConfig, theme, props)
  const baseStyle = maybeRunDeep(config.baseStyle, theme, props)
  const sizeStyle = maybeRunDeep(get(config, `sizes.${props.size}`, {}), theme, props)

  const appearanceStyle = maybeRunDeep(get(config, `appearances.${props.appearance}`, {}), theme, props)

  return merge({}, internalStyles, baseStyle, sizeStyle, appearanceStyle)
}
Combines styles from a styleConfig, with the given style modifiers (appearance, size, etc) and internal styles
@param {object} theme
@param {StyleModifiers} props
@param {StyleConfig} styleConfig
@param {import('ui-box').BoxCssProps<CssProps>} [internalStyles]
@returns {StyleConfig}