code: function createStyledElement(component, props, children) {
    return (...chunks) => {
      const classNames = chunks.map(chunk => (chunk ? glamor(chunk) : ''))
  
      if (props) {
        const { innerRef, forwardRef, css, className, ...restProps } = props
  
        if (css) {
          classNames.push(glamor(css))
        }
  
        if (className) {
          classNames.push(className)
        }
  
        return createElement(
          component,
          {
            [forwardRef ? 'innerRef' : 'ref']: innerRef,
            className: classNames.join(' ').trim(),
            ...restProps,
          },
          restProps.children || children
        )
      } else {
        return ({ innerRef, forwardRef, css, className = '', ...restProps }) => {
          const glamorClass = css ? glamor(css) : ''
  
          return createElement(component, {
            [forwardRef ? 'innerRef' : 'ref']: innerRef,
            className: classNames.concat(glamorClass, className).join(' ').trim(),
            ...restProps,
          })
        }
      }
    }
  }
docs: /*
  This works just like React createElement, but allows us to pass default styling
  as well as gives us a "css" prop that we can use to add overrides later on
  
  MyStyledComponent = createStyledElement(MyComponent)({
  color: '#b4da55'
  })