Use dict instead of proplist for temporary records structure passing
Add mixed record/proplist test
Fix type/function specs