new type checking, add expect-fail