adding null, undefined and toString() throwing - stolen from Olli's test