I think in both of these you want to short circuit if `prefix.length > self.length`