fixed bugs with secondary constructor effect inference