
====================================
	Need after all imports:
[((),Type constructor),(Prelude.2,Type constructor),(Prelude.3,Type constructor),(Prelude.4,Type constructor),(Prelude.5,Type constructor),(Prelude.6,Type constructor),(Prelude.7,Type constructor),(Prelude.8,Type constructor),(Prelude.9,Type constructor),(Prelude.10,Type constructor),(Prelude.11,Type constructor),(Prelude.12,Type constructor),(Prelude.13,Type constructor),(Prelude.14,Type constructor),(Prelude.15,Type constructor),(Test2.a0,Field),(Test2.b0,Field),(Test2.Test,Type constructor),(Prelude.->,Type constructor),(Prelude.ReadS,Type constructor),(Prelude.ShowS,Type constructor),(Prelude.[],Type constructor),(Prelude.RealFrac,Type class),(Prelude.Read,Type class),(Prelude.Monad,Type class),(Prelude.Bounded,Type class),(Prelude.Ord,Type class),(Prelude.Double,Type constructor),(Prelude.Ordering,Type constructor),(Prelude.String,Type constructor),(Prelude.Floating,Type class),(Prelude.Real,Type class),(Prelude.Fractional,Type class),(Prelude.Integral,Type class),(Prelude.Bool,Type constructor),(Prelude.Num,Type class),(Prelude.Enum,Type class),(Prelude.Eq,Type class),(Prelude.Char,Type constructor),(Prelude.Integer,Type constructor),(Prelude.Functor,Type class),(Prelude.Float,Type constructor),(Prelude.RealFloat,Type class),(Prelude.Int,Type constructor),(Prelude.Show,Type class),(Ratio.Rational,Type constructor),(Ratio.Ratio,Type constructor)]
uniqueTid: found Identifier fn
uniqueTid: found Type constructor Prelude.->
uniqueTid: found Type constructor Test
uniqueTid: found Type constructor Int
uniqueTid: found Identifier t
uniqueTid: found Constructor Test
uniqueTid: found Field a0
uniqueTid: found Identifier a
uniqueTid: found Identifier +
uniqueTid: missing Identifier a0
uniqueTid: found Identifier t
uniqueTid: found Identifier a

====================================
	Error when renaming::
Unbound Identifier a0 at 6:27

[Leaf3 ((a,Identifier),169) ((t,Identifier),168),Leaf2 ((fn,Identifier),167),Node3 ((Prelude._apply1,Identifier),62) ((Prelude.otherwise,Identifier),19) (Node2 ((Prelude.8,Type constructor),42) (Node2 ((Prelude.4,Type constructor),50) (Node2 ((Prelude.2,Type constructor),54) (Node2 (((),Type constructor),56) (Leaf2 (((),Constructor),57)) (Leaf2 ((Prelude.2,Constructor),55))) (Node2 ((Prelude.3,Type constructor),52) (Leaf2 ((Prelude.3,Constructor),53)) (Leaf2 ((Prelude.4,Constructor),51)))) (Node2 ((Prelude.6,Type constructor),46) (Node2 ((Prelude.5,Type constructor),48) (Leaf2 ((Prelude.5,Constructor),49)) (Leaf2 ((Prelude.6,Constructor),47))) (Node2 ((Prelude.7,Type constructor),44) (Leaf2 ((Prelude.7,Constructor),45)) (Leaf2 ((Prelude.8,Constructor),43))))) (Node2 ((Prelude.12,Type constructor),34) (Node2 ((Prelude.10,Type constructor),38) (Node2 ((Prelude.9,Type constructor),40) (Leaf2 ((Prelude.9,Constructor),41)) (Leaf2 ((Prelude.10,Constructor),39))) (Node2 ((Prelude.11,Type constructor),36) (Leaf2 ((Prelude.11,Constructor),37)) (Leaf2 ((Prelude.12,Constructor),35)))) (Node3 ((+,Identifier),144) ((Test,Type constructor),1) (Node3 ((Prelude.13,Type constructor),32) ((Prelude.14,Type constructor),30) (Leaf2 ((Prelude.13,Constructor),33)) (Leaf2 ((Prelude.14,Constructor),31)) (Leaf3 ((Prelude.15,Constructor),24) ((Prelude.15,Type constructor),23))) (Node2 ((Int,Type constructor),2) (Leaf2 ((a0,Field),3)) (Leaf2 ((Test,Constructor),5))) (Node2 ((Prelude.**,Method),83) (Leaf2 ((Prelude.*,Method),145)) (Leaf4 ((Prelude.+,Method),144) ((Prelude.-,Method),143) ((Prelude./,Method),107)))))) (Node2 ((Prelude.[],Type constructor),113) (Node2 ((Prelude.->,Type constructor),8) (Node2 ((Prelude.:,Constructor),161) (Node2 ((Prelude._apply3,Identifier),60) (Leaf3 ((Prelude.atan2,Method),72) ((Prelude._apply2,Identifier),61)) (Leaf2 ((Prelude._apply4,Identifier),59))) (Node3 ((Prelude./=,Method),151) ((Prelude.==,Method),150) (Leaf2 ((Prelude.<,Method),135)) (Leaf2 ((Prelude.<=,Method),134)) (Leaf3 ((Prelude.>=,Method),136) ((Prelude.>,Method),137)))) (Node2 ((Prelude.ReadS,Type constructor),111) (Node2 ((Prelude.isNaN,Method),78) (Leaf2 ((Prelude.isIEEE,Method),82)) (Leaf2 ((Prelude.EQ,Constructor),141))) (Node2 ((Prelude.GT,Constructor),142) (Leaf2 ((Prelude.ShowS,Type constructor),154)) (Leaf3 ((Prelude.LT,Constructor),140) ((Prelude.[],Constructor),160))))) (Node2 ((Prelude._id,Identifier),22) (Node2 ((Prelude.showsPrec,Method),155) (Node2 ((Prelude.succ,Method),123) (Leaf2 ((Prelude.RealFrac,Type class),65)) (Leaf2 ((Prelude.readsPrec,Method),112))) (Node2 ((Prelude.undefined,Identifier),20) (Leaf4 ((Prelude.Read,Type class),26) ((Prelude.Monad,Type class),162) ((Prelude.Bounded,Type class),27)) (Leaf4 ((Prelude.pred,Method),122) ((Prelude.isDenormalized,Method),80) ((Prelude.id,Identifier),21)))) (Node2 ((Prelude.round,Method),103) (Node2 ((Prelude.minBound,Method),164) (Leaf2 ((Prelude.significand,Method),70)) (Leaf2 ((Prelude.maxBound,Method),165))) (Node4 ((Prelude.mod,Method),118) ((Prelude.Double,Type constructor),17) ((Prelude.showsType,Method),157) (Leaf2 ((Prelude.divMod,Method),119)) (Leaf3 ((Prelude.Ord,Type class),28) ((Prelude.floatRange,Method),75)) (Leaf2 ((Prelude._eqDouble,Identifier),18)) (Leaf3 ((Prelude.compare,Method),133) ((Prelude.logBase,Method),84)))))) (Node3 ((Prelude.Real,Type class),63) ((Prelude.enumFromThen,Method),127) (Node2 ((Prelude.log,Method),90) (Node2 ((Prelude.True,Constructor),153) (Node2 ((Prelude.truncate,Method),102) (Leaf2 ((Prelude.False,Constructor),152)) (Leaf3 ((Prelude.negate,Method),146) ((Prelude.isInfinite,Method),79))) (Node2 ((Prelude.String,Type constructor),9) (Leaf3 ((Prelude.ceiling,Method),104) ((Prelude.Ordering,Type constructor),132)) (Leaf2 ((Prelude.Floating,Type class),68)))) (Node2 ((Prelude.asinh,Method),98) (Node2 ((Prelude.atanh,Method),100) (Leaf2 ((Prelude.tanh,Method),87)) (Leaf2 ((Prelude.sinh,Method),96))) (Node2 ((Prelude.acosh,Method),99) (Leaf2 ((Prelude.cosh,Method),97)) (Leaf2 ((Prelude.pi,Method),88))))) (Node2 ((Prelude.enumFrom,Method),126) (Node2 ((Prelude.Integral,Type class),101) (Node2 ((Prelude.toRational,Method),130) (Leaf2 ((Prelude.fromRational,Method),110)) (Leaf2 ((Prelude.Fractional,Type class),66))) (Node2 ((Prelude.quotRem,Method),120) (Leaf2 ((Prelude.Bool,Type constructor),13)) (Leaf2 ((Prelude.rem,Method),116)))) (Node2 ((Prelude.toEnum,Method),124) (Node2 ((Prelude.Enum,Type class),58) (Leaf2 ((Prelude.Num,Type class),64)) (Leaf2 ((Prelude.fromEnum,Method),125))) (Node2 ((Prelude.tan,Method),86) (Leaf2 ((Prelude.signum,Method),148)) (Leaf2 ((Prelude.atan,Method),95))))) (Node3 ((Prelude.toInteger,Method),121) ((Prelude.Float,Type constructor),15) (Node2 ((Prelude.flip,Identifier),11) (Node4 ((Prelude.sin,Method),91) ((Prelude.properFraction,Method),106) ((Prelude.enumFromThenTo,Method),129) (Leaf2 ((Prelude.min,Method),139)) (Leaf2 ((Prelude.asin,Method),93)) (Leaf2 ((Prelude.enumFromTo,Method),128)) (Leaf3 ((Prelude.isNegativeZero,Method),81) ((Prelude.recip,Method),108))) (Node2 ((Prelude.Integer,Type constructor),12) (Leaf4 ((Prelude.exp,Method),89) ((Prelude.Eq,Type class),29) ((Prelude.Char,Type constructor),159)) (Leaf2 ((Prelude.fromInteger,Method),149)))) (Node2 ((Prelude.abs,Method),147) (Node2 ((Prelude.error,Identifier),10) (Leaf3 ((Prelude._eqInteger,Identifier),14) ((Prelude.floor,Method),105)) (Leaf2 ((Prelude.Functor,Type class),163))) (Node2 ((Prelude.acos,Method),94) (Leaf2 ((Prelude.cos,Method),92)) (Leaf2 ((Prelude.floatDigits,Method),74)))) (Node3 ((Prelude._eqFloat,Identifier),16) ((Prelude.sqrt,Method),85) (Node2 ((Prelude.encodeFloat,Method),77) (Leaf2 ((Prelude.decodeFloat,Method),76)) (Leaf3 ((Prelude.scaleFloat,Method),71) ((Prelude.RealFloat,Type class),67))) (Node2 ((Prelude.exponent,Method),69) (Leaf2 ((Prelude.Int,Type constructor),2)) (Leaf2 ((Prelude.quot,Method),115))) (Node3 ((Prelude.showList,Method),156) ((Prelude.Show,Type class),25) (Leaf2 ((Prelude.readList,Method),114)) (Leaf2 ((Prelude.div,Method),117)) (Leaf4 ((Prelude.show,Method),158) ((Prelude.max,Method),138) ((Prelude.floatRadix,Method),73))))))]
