Make result type of pickle macro more precise

Closes #19