createTheme = (
  baseTokens: Tokens,
  overrides: CustomProperties
): CustomProperties => {
  const result: MutableCustomProperties = { $$theme: 'theme' };
  for (const key in baseTokens) {
    const varName: string = baseTokens[key];
    const normalizedKey = varName.replace(RE_CAPTURE_VAR_NAME, '$1');
    result[normalizedKey] = overrides[key];
  }
  return result;
}
The create method shim should do initial transforms like
renaming/expanding/validating properties, essentially all the steps
which can be done at initialization-time (could potentially be done at
compile-time in the future).