Add stack of previous values to converter
produce more readable error messages
refactor to hide structs behind an interface
WIP