Neither the From_seq class or the type signature of the from_seq
function place any restrictions on the type of e, so the type can be
rewritten as:
from_seq :: forall e seq . Sequence seq => (seq e) -> (t e)
That is, the class explicitly defines from_seq has having norestrictions on e.
Your from_seq' function requires the type e (in the error, e1) to
inhabit IArray a e.
The IArray constraint isn't compatible with the From_seq class
definition. You may need to explore multi-parameter type classes:
http://en.wikibooks.org/wiki/Haskell/Advanced_type_classes
Does this help?