I believe violent versus non-violent crimes should be treated distinctly in terms of evaluating (a) rehabilitation and (b) future offense odds. For non-violent crime, I think rehabilitation is the answer. For violent crime, I'm more comfortable with a model that involves sequestration, i.e. keeping the offender separate from society until their risk of re-offending falls suitably low.