Use characteristic with_repr and with_init