Implement scan()
Handle previously-unseen type in scan()