Since this changes the zk ultra semantics from the underlying library semantics, might be worth a comment above the function to make this clear.