Repita los valores en múltiples parcelas cuando faceten

Tengo un data.frame que se ve así:

> foo
        class      type    (0,10]    (10,20]    (20,30]    (30,40]
    1       A      <NA>       0.6        0.2        0.1        0.1
    2       B      <NA>       0.7        0.1        0.1        0.1
    3       C         1       0.5        0.4        0.1        0.0
    4       C         2       0.5        0.3        0.1        0.1
    5       D         1       0.7        0.3        0.0        0.0
    6       D         2       0.7        0.2        0.0        0.1
    7       E         1       0.4        0.3        0.2        0.1
    8       E         2       0.5        0.3        0.1        0.1

Me derrito por clase y tipo y hago una gráfica de barras:

ggplot(melt(foo, id=c("class", "type")), aes(x=variable, y=value, fill=class)) +
  geom_bar(position="dodge") +
  facet_grid(type ~.)

De hecho,facet_grid() crea 3 gráficos, pero lo que quiero es, de alguna manera, 'ignorar' que las clases A y B son de tipo y mostrarlas en la faceta para tipo 1 y tipo 2, y obtener solo 2 gráficos (los valores A y B deberían ser de hecho, repetido):

Intento evitar modificar manualmente y duplicar A y B con los tipos 1 y 2, porque necesito el data.frame original tal como está para otras gráficas / pruebas.

(disculpe el orden aleatorio de las columnas, estoy usando versiones diferentes en casa que las del trabajo y no sé por qué sucede)

Respuestas a la pregunta(1)

Su respuesta a la pregunta