refine appending impls to share some bits and be cleaner
changed noomit to omit and invert meaning