undestructively
not defined yet