add type-checks