Fix bug occurred when struct has interface value
Refactor: return inside each case