fix boxing pass
try and avoid unnecessary casting
complete emit-form pass, closes #23