allow token to be a type mixed and default is null