Separate crate, to handle the encodings for circuits. It is split away from circuits, to save on compilation time.