 
 # Cache this for typing null values.
 anyPtrTy = new PointerType null
-byteTy   = new PrimitiveType 1, 'byte',  HEAP, yes
+byteTy   = new PrimitiveType 1, 'byte',  U8,  no
 shortTy  = new PrimitiveType 2, 'short', I16, yes
 intTy    = new PrimitiveType 4, 'int',   I32, yes
 uintTy   = new PrimitiveType 4, 'uint',  U32, no

  else
    for i in [0...ty.size]
      offset = new Value new Literal i
      stmts.push new Assign new Value(HEAP, [new Index new Op '+', new Value(destPtr), offset]),
                            new Value(HEAP, [new Index new Op '+', new Value(srcPtr), offset])
  stmts.push new Value destPtr
  new Value new Parens new Block stmts


    propList.push new Assign new Value(new Literal fname), propValue.transform(), 'object'
  obj = new Value new Obj propList
  new Value new Parens new Block [new Assign(new Value(ptr), v), obj]

# Transform a function to have the right stack pointer computations upon entry
# and exit. The safe way is to wrap the entire body of the function in a
