added debugging calculation of likelihoods for morphology
implemented pruning during enumeration using generalized types instead of instantiated types