+- _interp_exec() to accept a value*, and type, and only copy large value there.
+- functions to return struct with name assignment - bare 'use'?
+ struct is open-coded in header. Later a similar effect
+ could be achieved with a named struct marked 'transparent'
+- '?' prefix operator returns Boolean, index operator for strings. Can be used to
+ test for end-of-string
+- ?? infix operator return LHS if '?' on it would succeed, else RHS
+- reference to struct (@foo), with @new, @free, @nil and ? to test
+
+Next Version (Govetts Cree)
+- int nat cyc {i,n,c}{8,16,32,64}
+- # & | ~ &~ - no shift: use (N * #shift) or (N / #shift)
+- op=
+- enum, with multi-valued names. enum foo { yes, no, many(10) }
+ bar:foo=.yes; if bar == .no... if ?bar.many: print bar.many, "items"
+- set, with bool or int members. set foo { pinned, memalloc, priority(4) }
+ bar:foo = .memalloc | .priority(2). if bar.pinned: bar.priority += 1
+
+Subsequent version
+- simple methods. Define "func type.name...." and the name will only be visible
+ within namespace for type.
+- array access to read bytes from strings. How to get length? "?string[4]" ??
+- optional args for functions - if value given
+- named args? Needs to look like manifest structs
+- array args - last parameter can collect all remaining as array.
+
+And then
+- float64 float32
+- enum as array index. foo:[:enum]int. foo[.baz] = 23
+
+Later
+- string manipulation