Our custom NHibernate/ActiveRecord framework uses, among other things, Observable list classes for our collections, to allow for usage in WPF. I encountered difficulties when I first tried to use these with Envers, because the code assumed that anything using a CustomCollection has to do it in a certain way. I couldn't see why it shouldn't be possible to use a simple implementation of IList<T> in the same way as a regular list type.
Comments to implied that this should be done on a collection-by-collection basis, and the "SetCollectionMapper" method treats it this way. We, however, are using our Observable classes model- and solution-wide, and over multiple solutions with generic code libraries in the backend, so this will result in mostly a tedious morass of reflection.