completly extracted type system