Fix inference of two recursive types.

Closes PR14608.
Make -id-path handle mutable variables correctly.
Make overlap for procedures and simple data stronger.
Improve filters generated for true values in tc-id and tc-let.
Strengthen simplification of filters in tc-subst.
Do not add filters to the prop environment.