add type proofs