Animal echolocation in the external ear. There are two hypotheses about the evolution of echolocation in bats. The first suggests that laryngeal echolocation evolved twice in Chiroptera, once in the Yangochiroptera and once in the horseshoe bats (Rhinolophidae). The second proposes that laryngeal echolocation had a single origin in Chiroptera, was subsequently lost in the family Pteropodidae (all megabats), and later evolved as a system of tongue-clicking in the genus "Rousettus". Individual bat species echolocate within specific frequency ranges that suit their environment and prey types. This has sometimes been used by researchers to identify bats flying in an area simply by
Type family versa. Type families are regarded as being generally easier to type-check than functional dependencies. Another advantage of associated types over functional dependencies is that the latter requires clients using the type class to state all of the dependent types in their contexts, including ones they do not use; since associated types do not require this, adding another associated type to the class requires updating only the class's instances, while clients can remain unchanged. The main advantages of functional dependencies over type families are in their added flexibility in handling a few unusual cases. Type family In computer science, a type