Refactor weak_to?