Support return value version of unpack. fix #25