Add smart constructors for Result and tc-result.
Use filters when typechecking using tc-body.

Closes PR 11920.