fix: ensure interface values aren't discarded (#1308)
fix: ensure interface values aren't discarded (#1308)

A call to sequence in our handling of polymorphics would result in
discarding legitimate interface implementation results in rare cases.
Calling rights instead fixes the issue. We also need to take the union
of the results to ensure we account for cases such as polymorphically
realized interfaces (e.g. the `prn` function for a (Maybe String), other
wise, we don't resolve to concrete polymorphics for types that have
ad hoc polymorphic members.

Fixes #1307
eriksvedang/Carp,carp-lang/Carp,carp-lang/Carp,eriksvedang/Carp,carp-lang/Carp