trivial cleanup
uninlines coerce<>()
made some funcs inline
fixed by inliner