¿Cómo hacer referencia a variables en un mapa, antes de definir todo el mapa?

Comenzaré con mi código, ya que debería ser más fácil entender lo que quiero hacer:

@function get-color($color, $lightness) {
  @return map-get(map-get($colors, $color), $lightness);
}

$colors: (
  green: (
    light: #A4EDE1,
    mid: darken(get-color(green, light), 20%),
    dark: darken(get-color(green, mid), 20%)
  ),

  red: (
    light: complement(get-color(green, light)),
    mid: complement(get-color(green, mid)),
    dark: complement(get-color(green, dark))
  )
);

Como puede ver, he creado un mapa multidimensional, con mis valores de color.
Por el momento, quiero crear los otros colores, a través dedarken() y elcomplement() funciones El problema con eso es que necesito hacer referencia a variables dentro del$colors variable, antes de que esté completamente lleno. Esto da como resultado un error para miget-color() función, que me dice, no hay$colors variable.

Sé que sería posible alterar los colores fuera de mi$colors mapa, pero el beneficio de hacerlo de esta manera es que siempre puedo volver y definir valores de color que no se generan. Esto sería un gran beneficio para mantener el proyecto.

Así que aquí está mi pregunta: ¿Hay alguna forma de hacer referencia a otra variable en el mapa, antes de definir todo el mapa?

Respuestas a la pregunta(1)

Su respuesta a la pregunta