read: r5js.read.bnf.onePrimitive should take a Datum ctor, not a r5js.DatumType.
ast: inline two uses of r5js.Datum#getType.
ast+read: remove a type switch from r5js.datum#stringForOutputMode.
ffi: introduce r5js.ast.Ffi. Experimental.
datum: make r5js.Datum#stringForOutputMode an abstract base class method.