now with embedded types, I guess.