When deep is a function, call it whenever type.check(...) will return false.
When deep is a function, call it whenever type.check(...) will return false.

We used to call deep only when a Def type check failed.

Coercing deep to a boolean when checking Type.or types was also a bad idea, because it made it impossible to see where the checking actually failed.

Passing a function for the deep parameter seems like a good debugging technique but not much else.

jamestalmage/ast-types,benjamn/ast-types,benjamn/ast-types,cpojer/ast-types,marcioj/ast-types,benjamn/ast-types,gabelevi/ast-types