coerce.spad line 73 [edit on github]
B is retractable from A means that some elements in A can be converted into elements of B and any element of B can be converted into an element of A.
retract(a) transforms a into an element of % if possible. Error: if a cannot be made into an element of %.
retractIfCan(a) transforms a into an element of % if possible. Returns "failed" if a cannot be made into an element of %.
CoercibleTo(S)