Call inst_parse on child instances; add_fn cleanup

This change is to make it safe to work with member variables within parse,
keeping in mind that if parse were called on globals, self.whatever could
easily be corrupted by recursive calls.