How can (pair? item) be true, but (cdr item) fail? added by Demo on Sat May 20 03:59:41 2017

Error: (*) bad argument type: #f

	Call history:

	<eval>	  [recurse11395] (assoc item-id (func tp))
	<eval>	  [recurse11395] (func tp)
	<eval>	  (trading-post-buy-listings x)
	<eval>	  [trading-post-buy-listings] (##sys#check-structure x (##core#quote trading-post))
	<eval>	  [trading-post-buy-listings] (##sys#block-ref x 1)
	<eval>	  [recurse11395] (pair? item)
	<eval>	  [recurse11395] (number? (car item))
	<eval>	  [recurse11395] (car item)
	<eval>	  [recurse11395] (not (null? (cdr item)))
	<eval>	  [recurse11395] (null? (cdr item))
	<eval>	  [recurse11395] (cdr item)
	<eval>	  [recurse11395] (pair? item)
	<eval>	  [recurse11395] (number? (car item))
	<eval>	  [recurse11395] (car item)
	<eval>	  [recurse11395] (null? (cdr item))
	<eval>	  [recurse11395] (cdr item)	<--

How can (pair? item) be true, but (cdr item) fail?