forward declaration of nested type causing compile error