ensure => compute &optional ensure