a typing system of duck idea