i1 : a = charAnalyzer "abc" o1 = a o1 : FunctionClosure
i2 : peek a() o2 = (0, "a")
i3 : peek a() o3 = (1, "b")
i4 : peek a() o4 = (2, "c")
i5 : peek a() o5 = null
i6 : (constParser "abc" : charAnalyzer) "abc" o6 = abc