typescript omit vs pick