type and isinstance