         return x
     }
 
-    private func protocolAssociatedTypeDeclaration(
+    private func AssociatedTypeDeclaration(
         attrs: [Attribute], _ mod: Modifier?
     ) throws -> TypealiasDeclaration {
         let x = TypealiasDeclaration(attrs, mod)

        ScopeManager.enterScope(.Function)
        x.genParam = try gp.genericParameterClause()
        x.params = try parameterClause()
        if forProtocol {
            if case .LeftBrace = ts.look().kind {
                try ts.error(.ProcedureInDeclarationOfProtocol)
            }

        return x
    }

    private func moduleSubscriptDeclaration(
        attrs: [Attribute], _ mods: [Modifier]
    ) throws -> SubscriptDeclaration {
        let x = SubscriptDeclaration(attrs, mods)
