     }
 
     private func functionDeclaration(
-        attrs: [Attribute], _ mods: [Modifier], forProtocol: Bool = false
+        attrs: [Attribute], _ mods: [Modifier], forModule: Bool = false
     ) throws -> FunctionDeclaration {
         let x = FunctionDeclaration(attrs, mods)
         x.name = try functionName()

    }

    private func initializerDeclaration(
        attrs: [Attribute], _ mods: [Modifier], forProtocol: Bool = false
    ) throws -> InitializerDeclaration {
        let x = InitializerDeclaration(attrs, mods)
        switch ts.match([.PostfixQuestion, .PostfixExclamation]) {

        return x
    }

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