Don't assert on union/isect flatten
Don't assert on union/isect flatten

It's possible to hit the flatten pass on types that have already
been flattened, for example when generating an anonymous type for
a lambda. Instead of asserting that the child count is 2, the
flatten step can be skipped if the child count is greater thant 2.

Praetonus/ponyc,cquinn/ponyc,doublec/ponyc,boemmels/ponyc,CausalityLtd/ponyc,cquinn/ponyc,Perelandric/ponyc,ryanai3/ponyc,jemc/ponyc,ponylang/ponyc,ponylang/ponyc,sgebbie/ponyc,jemc/ponyc,Praetonus/ponyc,lukecheeseman/ponyta,Perelandric/ponyc,mkfifo/ponyc,cquinn/ponyc,malthe/ponyc,mkfifo/ponyc,dipinhora/ponyc,boemmels/ponyc,Theodus/ponyc,Theodus/ponyc,boemmels/ponyc,malthe/ponyc,mkfifo/ponyc,jupvfranco/ponyc,jupvfranco/ponyc,jupvfranco/ponyc,Perelandric/ponyc,mkfifo/ponyc,doublec/ponyc,Praetonus/ponyc,dipinhora/ponyc,Theodus/ponyc,dipinhora/ponyc,cquinn/ponyc,kulibali/ponyc,doublec/ponyc,jupvfranco/ponyc,boemmels/ponyc,kulibali/ponyc,Perelandric/ponyc,malthe/ponyc,sgebbie/ponyc,lukecheeseman/ponyta,boemmels/ponyc,malthe/ponyc,kulibali/ponyc,ryanai3/ponyc,mkfifo/ponyc,ryanai3/ponyc,CausalityLtd/ponyc,Praetonus/ponyc,sgebbie/ponyc,jemc/ponyc,sgebbie/ponyc,jupvfranco/ponyc,Theodus/ponyc,ponylang/ponyc,sgebbie/ponyc,CausalityLtd/ponyc,kulibali/ponyc,Perelandric/ponyc,Theodus/ponyc,lukecheeseman/ponyta