Bringing in PostTcType as a param to the types.

Summary:
This is a first step toward allowing generic traversals of the
AST without landmines

Test Plan: run 'sh validate'

Reviewers: austin

Subscribers: simonmar, relrod, ezyang, carter, goldfire

Differential Revision: https://phabricator.haskell.org/D153
Clean up based on feedback
Merge remote-tracking branch 'alanz/wip/landmine-param' into wip/landmine-param