         }
     }
 
-    func labeledProcedure(label: String) throws -> Procedure {
+    private func labeledProcedure(label: String) throws -> Procedure {
         switch ts.match([.For, .While, .Repeat, .If, .Switch]) {
         case .For:
             return .FlowProcedure(try forFlow(label))

        return x
    }

    func deferFlow() throws -> DeferFlow {
        let x = DeferFlow()
        x.block = try proceduresBlock()
        return x
    }

    func patternMatchClause() throws -> [PatternMatching] {
        var ps: [PatternMatching] = []
        switch ts.look().kind {
        case .RightBrace, .Else:

        return pms
    }

    private func doFlow() throws -> DoFlow {
        let x = DoFlow()
        x.block = try proceduresBlock()
        while ts.test([.Catch]) {
